{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# A 题医疗物资仓储基地的选址与运输"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 185,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import scipy as sp\n",
    "from geopy import distance\n",
    "import matplotlib.pyplot as plt\n",
    "from scipy.stats import linregress\n",
    "\n",
    "plt.rcParams['font.sans-serif'] = ['Simhei'] # 设置中文显示\n",
    "plt.rcParams['axes.unicode_minus'] = False # 设置正常显示负号"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Problem 1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 186,
   "metadata": {},
   "outputs": [],
   "source": [
    "locations = pd.read_excel('附件1：城市名称与所在医院位置.xls')"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 线性回归"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 187,
   "metadata": {},
   "outputs": [],
   "source": [
    "def linear_function(x):\n",
    "    slope, intercept, r_value, p_value, std_err = linregress(locations.经度, locations.纬度)\n",
    "    return slope*x + intercept"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 188,
   "metadata": {},
   "outputs": [],
   "source": [
    "granularity = 100\n",
    "# lats = np.linspace(locations.纬度.min(), locations.纬度.max(), granularity)\n",
    "# lngs = np.linspace(locations.经度.min(), locations.经度.max(), granularity)\n",
    "lngs = np.linspace(locations.经度.min(), locations.经度.max(), granularity)\n",
    "lats = linear_function(lngs)\n",
    "loc_warehouses = pd.DataFrame([lats, lngs]).transpose() \n",
    "loc_warehouses = loc_warehouses.rename(columns={0:'lat', 1:'lng'})"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 回归直线上最优解"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 189,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 计算两个经纬度之间的距离\n",
    "# loc1：一个元组表示经纬度地址（纬度，经度）\n",
    "# loc2: 城市信息\n",
    "def dis_lng_lat(loc1, loc2):\n",
    "    # print(loc1, loc2)\n",
    "    return distance.geodesic(loc1, (loc2.loc['纬度'], loc2.loc['经度'])).km"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 190,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 计算所有城市到仓库之间的距离\n",
    "# loc_warehouse 一个元组表示经纬度地址\n",
    "def get_dis(loc_warehouse, locations=locations):\n",
    "    return locations.apply(lambda x: dis_lng_lat(\n",
    "        (loc_warehouse.loc['lat'], loc_warehouse.loc['lng']), x), axis=1).sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 191,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>lat</th>\n",
       "      <th>lng</th>\n",
       "      <th>sum_dis</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>49</th>\n",
       "      <td>30.171051</td>\n",
       "      <td>104.566439</td>\n",
       "      <td>3850.337836</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          lat         lng      sum_dis\n",
       "49  30.171051  104.566439  3850.337836"
      ]
     },
     "execution_count": 191,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "loc_warehouses['sum_dis'] = loc_warehouses.apply(lambda x: get_dis(x), axis=1)\n",
    "center_circle = loc_warehouses[loc_warehouses['sum_dis'] == loc_warehouses['sum_dis'].min()]\n",
    "center_circle"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 基于回归最优解为圆心扩散寻找最优解"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 192,
   "metadata": {},
   "outputs": [],
   "source": [
    "granularity = 100\n",
    "circle_lat = np.linspace(center_circle.lat.values[0]-1, center_circle.lat.values[0]+1, granularity)\n",
    "circle_lng = np.linspace(center_circle.lng.values[0]-1, center_circle.lng.values[0]+1, granularity)\n",
    "circle_lat = pd.DataFrame(circle_lat)\n",
    "circle_lat['key'] = 1\n",
    "circle_lng = pd.DataFrame(circle_lng)\n",
    "circle_lng['key'] = 1\n",
    "circle = pd.merge(circle_lat, circle_lng, on='key')\n",
    "circle = circle.rename(columns={'0_x':'lat', '0_y':'lng'})\n",
    "circle = circle.drop(['key'],axis=1)\n",
    "dis = circle.apply(lambda x: get_dis(x), axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 193,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>lat</th>\n",
       "      <th>lng</th>\n",
       "      <th>distance</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>4852</th>\n",
       "      <td>30.140748</td>\n",
       "      <td>104.616944</td>\n",
       "      <td>3846.859481</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            lat         lng     distance\n",
       "4852  30.140748  104.616944  3846.859481"
      ]
     },
     "execution_count": 193,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "res = circle\n",
    "res['distance'] = dis\n",
    "best_location = res[res['distance'] == res['distance'].min()]\n",
    "best_location"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### End & 可视化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 194,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 计算某个点到所有城市的距离之和\n",
    "# pd.DataFrame({'lng':[104.114], 'lat':[30.695]}).apply(lambda x: \n",
    "#     get_dis(x), axis=1).values[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 195,
   "metadata": {},
   "outputs": [],
   "source": [
    "regression_lngs = np.linspace(locations.经度.min(), locations.经度.max(), granularity)\n",
    "regression_lats = linear_function(regression_lngs)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 196,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXYAAAEOCAYAAACdLzzJAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAABdwUlEQVR4nO3dd3RURRvA4d9k03uCQAggAZVeREIRCIReFaQq8CEqihQRkC5IU1BABUQQRFSKgLSIgJQAUZCuEKTXUBJCSQ/pu/P9sZslIT2kbuY5Jwf27i0zu8m7s3Nn3hFSShRFURTTYVbYBVAURVHylgrsiqIoJkYFdkVRFBOjAruiKIqJUYFdURTFxKjAriiKYmJUYC9kQoh2QogbQohbQojhTzy3UAjRNx+vPV0IMT2/zp/JdfOtXkKIoUKI+0KIX7LYz0oIkSiEMBNCnBRC9BNCjBJCLM7DsgwSQvyUV+fLb0KIn4QQgwrhuluEEE0L+rqmTAX2QiSEcAHWAH2B2sAYIUT15OellB9KKTc8cYyzEGJUgRY0FzIrZ3r1ykMfA1WBekKI0hntJKWMB0IAV+BZw08Z4HY+latEE0J4ZPShIaXsIaU8XMBFMmkqsBeubsAJKeVxKWUksBdolcUxzsCofC5XXnCmcMoZZ/ixAiKy2Pc2+oB+HxXY85sHMKiQy1BiqMBeuGoDl1I8ng1sS37w5FdjQ/fCCaCiECJYCLHLsH2IEOLHFPttFUL0zk2BhBADDF1DAU9ce5yhu+i2EGJAiu0zhBCBhuf+l1k5M6rXE+e/JIToZNg2XQjxtRBilxAiRAixMBtVOAccAT6VUiZkse9twBP4E3BHH9hvGbpnlgshgoQQV4UQ7VOUM0AI0VoIcUAI8XOK7W8JIa4LIe4KId5NcQ0LIcRaQ/k3CyFEFvWd/sS1PFKU567hmNdS7DPZsO2mEOIVw7YM98+pDMppJoSYb3jfryS/Phm9bkKIg8AWoKnh9+H7J67hJ4TwTvHYTAjxpeH8/kKIhobtPwkhpgghDgshQoUQY3NbL5MnpVQ/hfQDrABmZPL8T8CgJ7Z5AAFPbCsD3AM0gDX6FqhtNq4/HZie4nF14A5QEX2guwXUAdoBZ9C3wj2AKMAefSt3P2Bn2D84s3JmVC+gLXAWcAFqAsFAWUP5IoCGQHkgHnDNpD6OwHFgbzZf/wXAcmA0sB04ClQCGgObAHOgCXA8xTEBwL9Ac8DBsK0W8B/6bp2yQKDh30Hovz28Yni9goH6WdR3+hPX8gBeAoIAS6AGsMTwfCdgn+H1rwbcBSwy2j8br0d235d30X+7tAaaAkGG/TN73bwBvwyu6wd4p3g82FAva6C14XWwMpTvNvCc4XciorD/hovqjzlKYUpE/wsLgBCiBxArpfwjJyeRUt4XQlwAvABb4E8pZUwuytMO2C6lvG0oz1agA1AOWCulDAfCAQfD/tGGfvSP0Hchlc3FNUEfoNZIKcOAMCHEMUNdAH6XUp4wlCcYffAOzeA8i4F1wCAhRGtgBvCmlPJ6BvvfBvoDuwCJPjAHSSlvCiG+Amaif02e7KufK6U8lOJxa6AKcN7w2AZ9oAU4KaX83VD+S4BTFvVNSRj+vQbogHnoP0hHGba3RR/grhke26L/gM1o/5zKqJwdgRVSyjjgsOGaSCmPZfG65eS63xvOv18IEYG+gQHws5TymhDiOvrfBSUdqiumcF1FHxCSdQYq5/Jcm4DuwKvAxqcok3zi/2myxAkhegkh3IUQXsBW4DpP33+a0XWvZbBPehqi71Z5D1iJ/htFZn3mt9G3oAPQf2DZSikThRD9gW+BU8CIdI47+sRjAaySUrpJKd2ACin2yaj8mb7OQghzDB+UUsoI9C3mg0A/9K3l5Ot+luK6zwKBmeyfG9n5fXhLCGGfjdctL657DUAamvZK+lRgL1xbgLZCiDpCiLLoW0J+WRwTApQSQtgafmxSnOtV9K3HHbksz16gqxCivBCiHPAasAfYDfQTQjgJIdzRt4x16L96H0ffSu6czXKm5w+gv9CPpKluOG9yizgnf8AXgQ5SymPAMfTfhqplsv8tw783DT/JHwIvo6/zb+hvcGdlP9BJCOEmhHAA/NEH1ozKn1F9I9F3g4H+w8kKQAjRBv0HlQ8wCWhk6Kv3BfoIIRwN78s1wDmT/XMqo3LuBt4W+iGjtYHP0Xc5Zfa6PQQqCCE0QggXIYQmi+u+Yzh/S/RdgGcNz6mAng0qsBciKeUN4H/oW9sn0be+zmdxTBTwBfo/4hvou0mQUgah72M9I6V8lMvyXEQfCA6hvwE5TUr5n5RyD/AL+n7kQ8BoKWWwody10ffn1kTfNVM1s3JmcF1fYDX6fvxtwNtSynu5qMI44BVDl40Z+oBTMZP9bwPRUsoQ9K325MD+E9DHUG5LoLQQwimT8p8FZqF/zc4D30opT2eyf0b1XQ94CiH2oG+t3zQc8if6+xqB6Fvh46XeTvTB+yzwN/CBlPJhRvtn8jrktJw/GOp5Hf23w35SyiQyed0Mr5GvoUxnDc9nZCX637XrwCKgt9QPT1WySahvNKbB8NV9KeAr82+MuKIoxYBqsZuOYPSjWnwKuRyKohQy1WJXFEUxMarFriiKYmJUYFcURTExKrAriqKYmKIS2GVh/Ny7d69QrqvqVLLrVJTq4+/vLw8dOpQndfLz8yv0+pjq+5TJT7pKdEoBrVZb2EXIc6pORV9Rqo+9vT0ffvghfn5+qbbfvXuXvn37YmmZerh5QkICu3fvxsYm9XwzrVbLypUrCQ8Pp3v37vlc6oJRlN6nnCoqo2IKpRBBQUG4u7sXxqXzjapT0VfY9Vm+fDmrVq3C3FzfrouNjTUG6ri4OCZPnsyrr76a5XmWLl3KypUrsbW1JTExkaSkJCwsLLCwsEBKSUxMDEOHDuXtt9/O1/rkl8J+n7Ip3RnFJbrFriglUXh4OEOHDqV///4Z7iOlJKMsBMnPDR06lKFDhwL6IPjrr7/i7OzMoEGD8qPYSg6owK4oJYxGo8mym8HT0xMLCwtu3LiBm5sb0dHRmJmZUapUKcqXL8/mzZsBWL16NcuWLSMhIYGHDx9ibm7OihUrABg7dqzJdMsUNyqwK0oJo9VqM2yNJ/vnn38A6NatG1999RV79+7F2to6TWv8wYMHDB48mPbt26dqsS9YsICwsLD8qoKShaIyKkZRlAISEhKCk5NTtvYNDAykTJkyGT5vZpZxCMldQkklL6jAriglzPHjx6levXqW+/333384Ozuz72ok83ZfYuxGf5p9vp9NxwOM++h0ujTHRUZGGrtllMKhAruilCDHjh0jIiKCqlWrZrpfUFAQ/fv3p/2bo5i05T/CY5PQxkQSGB7LkNETGDVLv/yso6MjLi4uAMnL2rFixQrOnTtHu3bt8rcySobUR6qilCBSSr7++utM97l79y4tW7Zk3rx5zLtoS2xiLNbP1iF0z7fEXPobjb0LhxPfAGDw4MGA/oMgMTGRhIQExowZw5gxY/K9LkrGVGBXlBKkSZMmWe5Trlw5zp8/j4WFBaMn6hfjsnAtT9nXZxv3eZCQ9rjx48fnWTmVp6O6YhRFScPCwgIAd+f0VzTMaLtSNKjArihKhsZ1qIaNRerlSW0sNIzrkNlSskphU10xiqJkqHv98gDM232JoPBY3J1tGNehmnG7UjSpwK4oSqa61y+vAnkxo7piFEVRTIwK7IqiKCZGBXZFURQTowK7oiiKiSmRN08DAwNp2LAhzs7OvPzyy1y6dAlra2vj8xcvXmTy5Mm89tprfPTRR/zyyy/MmzePHTt2GPext7dn+/btxsdz586lbt26dOzY0bhNq9Xi5eXF4cOHC6ZiiqLkmp+fH97e3oVdjDyRL4FdCOEKNABOSSkf5sc1noalpSXt27fn2WefxcvLK01Oi65duzJs2DAePnxoXBrs+vXrbNq0iejoaCpWrEifPn1SHSOEwMrKCoBWrVpx4MABNBpNmiXEFEUpWDNnzsTd3d2Y/iAjprS0X553xQghXIDtQCPggBCikhDiDyHEHiHEViGEZRanyHfJ6UT//fdfmjVrxrRp02jRogUNGzbkxo0bgD5Z0iuvvMKuXbt49dVXjelJ3377beLj49OkJBVCGLfZ2dmluZaiKHmjR48eNGnSBG9vbzw8PHjxxRfx9vamZs2aLF68OM3+VlZWadZuBf3Sfg0bNqRly5Z4e3tz8eJF5s2bh7e3Ny1btqRz586sXLmyIKqU5/KjxV4XGCOlPGoI8t2Br6SUe4UQS4GOwLZ8uG6O3bt3D3Nzcx48eMCqVauYP3++8bmGDRvi4+PDhAkTWLFiBaNGjQLAxsYGW1vbVOfp2rUr3t7ebN++ncjISAA++eQTxo0bV2B1UZSSwtLSkvXr1+Ph4cH06dPx9vbG29ub9evXGxf3qFGjBuXL68fe37p1C0tLS1atWkVcXBz29vbs2rUr1dJ+AAsWLEi1tF8xWfM0XXke2KWUfwIIIVqgb7XPlFJGGp4uDdzP62vm1sCBA1m8eHGqxQKSW9hmZmZoNPqp1Obm5saUpMk5NJJptVri4uKQUtKoUSM2btwI6JcWW758eUFUQ1EUg+S/XwsLC3x9fQGYP38+bm5uDBgwgICAAEaMGGHcP3lpP9AH8pRL+7399tvFdiHu/OpjF0BfIAxINGx7GXCRUh59cv979+5luQZjXgoNDSUmJoamTZsyYsQIqlWrRp8+fbhz5w79+/cnLi6OoKAgQkNDCQkJ4eeffyYiIoJbt26RkJBAUFAQjx49IigoiICAAKpWrcq1a9do0KABTZs2ZfPmzdSvX5/AwEDi4+MJCgoq0LqZGlOrk6nVBwq2TrGxsfTo0QNra2t0Oh27d+9GCMHDhw956623CAoKQqvVGv/uIiMjsbKyIigoiHv37hn/vgGuXr1Kz5496du3L99//z2Ojo7G/wcGBhbo325uZPSNIl8Cu9Q3b4cLIWYBrwoh9gLfAD3T279s2bL5UYwMWVpaIqVk2LBh9OnTh4CAADZt2sSJEyeoUqUK1tbWBAUF8fHHH2Nvb8/FkCTOu7Wn3fjvcLKpwvvjp/PJJ5/g7u6Ou7s7TZs2pXPnznh5edG6dWt27NhBxYoVGTp0KJs3by7wr3PF9etjZkytTqZWHyi4OtnY2LBlyxY8PDxSbd+3bx/h4eG4u7sjhGDgwIHA466Y3377jbi4OBwdHY1ldXFxwdnZGXd3d5ycnFL9X0pZbN+nPA/sQogJwF0p5SrAGQgHNgKTpJQ38/p6uSGlxM7Oju+//566desatz/77LPExcWh0WioUaMGP//8M0fvahm/7hj3j20h8UEA9q+O559rRxk8fDR/79+Fs7Mzly9fxtXV1dhNk9xtoyhKwWnTpg1xcXGAfoRLo0aNABg0eiqHg5K4Vrk5bnYa2ld9nK0ys6X9CrrBmZfyY4LScuB/Qoi/AA1QBXgJ+FgI4SeE6JsP18yR+Ph4AJ555plU2x8+fEj9+vXp2LEjdnZ2uLm5MW/3JUL+80Nj58Iz3SYizDRYvNCMhOda4u/vD8Do0aP5+OOPjecpV64coO9/j4mJKZhKKUoJIYQgPDw83edmzpzJ999/bwzqPqcC2XkmiNBHCUjg7iMty85q8TkVCGS+tF+LFi3yvS75RRSR1mWhFCI7d70rT9yRbuEEcOPzLgDExMSkGSlTWIrznfyMmFqdTK0+ULB1WrNmDVOnTqVSpUqptmu1WoKDgzl48CBubm4ANPt8P+d+/x6NYxkc6rU37lve2Ya/J7ZOdfzcuXNxdnbmvffeA4rN+5TueOoSOfM0J9ydbQgMj013e7KiEtQVpSQYMGAA/fr1IyEh9fp8KScJJgsKj8XZa0CacwSl8zdtSkv7qVwxWVAryChK0WNmZoa1tXWqnyeDOpTcpf1UYM9C9/rlmdOjDuWdbRDov8LN6VFHLTygKMVASW2Yqa6YbFAryJRcDx8+THOTPadMKblUcVNSl/ZTgV1RDG7cuMGUKVNYu3YtANHR0XTu3JkjR44YZyGXKVOGmjVr4u/vz86dO5k6dWqqc/z4449UrFgx1TZTSi5VHJXEhpnqilEUgxUrVjBs2DAiIyOZMGECXl5e2Nra0qZNG8qUKQPocwjt3buXZs2aYW5ujqenJ76+vvj6+uLh4UFSUpJJJ5dSigfVYlcU4PLly4SEhODo6EiXLl1o0aIFzZo1M85uTE4uJYTg2LFjNG7cON3MnUIIk04upRQPKrArCrBhwwaOHz/O+vXr8fX1ZcuWLdStW9c4M3nr1q3GfQ8cOECDBg0yPZ+pJpdSigfVFaMowNSpU1m8eDHvvfcenp6e9O/fnzJlyjB16lTOnDmTaoxzz549+emnnwBYv349bdu2pW3btvzxxx/GfR48eMDgwYM5dOgQI0eOZPLkyRw6dIhevXoRERFR0NVTShjVYlcU4ObNmwwYMIDevXvz448/snbtWhISErhy5QpRUVE8fPiQxMREAGrWrIlWqyU0NJTXX3+dzz//HCDVCj0pU0ErSkFTv32KApQqVYqJEyfSq1cvevXqhbW1NXv27KFLly6sX7+eESNGYG6ubwetWLGCixcvcvxWJGuO3qTyxB00+3w/N0MeGc+XWXKp5PMoSn5Rv2GKAty/f5/Y2FgWLlyIp6dnqgyd0dHR3Lx5k6pVq6LT6WjRogU2VZvy8U97Cf53H+bXz3IXSAoL5A//4Qz18Mg0uVTv3r0Lo4pKPktKSkr1oR0eHk5ISAjPPffcU503N/MgVItdUdD/UT7zzDMsW7aMUaNG0bdvX8zNzYmPjyciIgIXFxdat25NfHw8VatWZcnhYBIt7SnVYRhu/T7Hrd/nlOr4IT+efADou2W6desGQGJiIgkJCYwZM4atW7dSunTpwqyqkk8GDRrEgQMHjI8vXrzInDlz0uw3d+5cdu3alWqbVquladOm6Z535cqV+Pj45KgsqsWuKEDVqlWpWrWq8XHyIg2rV68GoFmzZoB+MQfQJ5GycHbDwtnNeIzNc548SEx7blNKLqVk7NNPP2XQoEF4e3sjhECj0eDk5JRmv5TJylq1asWBAwfQaDTY2Ojz1yxdupSVK1dia2uLEIKYmBjmzZvHggULkFISExPD0KFDMx1ZpQK7ouRCdrJ+KiWLh4cH+/fvZ86cOfz555+Eh4cTFhbGxYsXiY+PZ+nSpbzwwgsIIRBCoNXGYGX1OENl8ryIrOZBZIcK7EqxlzIffkhICPfv36dGjRpPdc6s+jXHdajGpC3/EZv4eK3ekpBcSknf1q1b+frrr2ndujXTp09n8uTJfPPNNzg6OvLmm28CIKWWjh2b06CBAytXLuTw4WAiIpKYMmU8EyakTk2R2TyIsWPHZpmeQgV2pVi7ceMGb7zxBl988QUPHjzgzJkzXL16lYEDB6LVamncuDE1a9bM8/wuJTW5lJK+1157jRo1ahiHvgJs27aNzp2bsWzZuzRrFkpIyD4ePIggJASqV6/E8eNVcXS0x9OzMcuXL091vuR5EIMGDUrVYl+wYIFxFnRmVGBXiq2kpCTeffddvvrqKwCsrKy4d+8ezz33HElJScTHxyOlpGHDhvj4+PDaa68Z87ukHHuenN8lp/2aJTG5lJI5nS6O+/d/ZcOG5Wg0R3nhBV8+/BAmTCiDh0c7mjSJw9KyIq++OowqVc6yZs0aXnmlOxs3bkx1nszmQaSXyuJJKrArxdY///xDu3btWLJkCXXr1mX9+vXcvXuXUqVKsXPnThwcHOjZs2ee5HdRlPRotbFERPxNWJgvZ8/+TnDweX78cQM//GDGjz92xMOjCxs2VKJXr+H8++8y2rd3pXPnzlyMseebgDKcunifFvP+ZFwHL2CF8byZzYPIThppFdiVYqtx48bcv3+fixcvUqlSJcaMGcPmzZvp2rUrTk5OxvS78PT5XbLTr6mYPil1REefJixsL2FhvkREHEKniyMhwZwlS5y4fbs0AQGt2LFjJi+8oL/fUr487NjhgaurK5cvX+YR1kz9/aL+/oyUBIbHMmnLf1hGxRuvk9k8iA8++CDLcqrArhRb//77L++//z6fffYZ1atXZ+vWrdSrV4/bt29z+/ZtWrd+vFhxz549mT59OuPHj2f9+vWcPHkSgAsXLjBlyhTg6fs1FdMUGxtgDORhYftISgoBwM6uNu7uQ3FxacupU9CrVwBDhw5l+fLlDB78HpGRkSQlJSGEIDo6mlGjRrF7924iq/cy3nTX2LsCEBOfQGBwqPGaKdNTpJwHMWbMmGyVWQV2pdgKCQkx/qJv3LiREydOYGFhYXw+ISEBT09P4HF+l+3HL5Pk8TLXPAfg7mxDTYfvjfs/bb+mYhoSE8MID9/PvXu/cevWYeLirgFgaelOqVJdcHFph4tLG6ysyhmPadtW/wMwZMgQhgwZAui7VJKSkjAzM8Pc3JzBgwdTa+bjSUylOo0EQJhpKPXG3HTLk5t5ECqwK8VWu3btiIiIIDo6mq5du/Lqq68SExPDb7/9xtdff82ePXt4+eWXAf3X2BOnz3LSrjFRcUm4AIHhsYQHhLHnXDDveXg8db+mUjzpdPFERBw2tMj3EhX1D6BDCDtcXVtRocJIXFzaYmtbI8cf8GZmZlhaWhof29raFsgcCBXYlWJNp9MhpWTy5Mm8/fbbSClp1qwZvr6+rFq1itDQUGN+l3K3y3DrxlUenf+T+KCLACSFBvLdgSu816XJU/drKsWDlJJHj84QFuZLaOheIiL+QqeLBTQ4OjahUqWpuLq2Izq6AuXLV8rz6xfEHAgV2JViLT4+3tj/6ObmRt++falYsSLBwcHs3bsXZ2dnvv/+e6pWrcr9+CuY2TpRqsMwbJ5rCEDstZM8TNT/GTxtv6ZSdMXF3Ta2yMPC9pGYeB8AW9vqlCs3GBeXdjg7t8Tc3NF4zKNHQflSloKYAyFSZrHLs5MK4Qo0AE5JKR9m45C8L0Q2mOISZapOGWv2+f50vwKXd7bh74mt0zkif6j3KP8lJUUQHu5HaKj+pmds7CUALCzK4uLS1vhjbV0hw3MUtTplIN2+oTxvsQshXIDtwA7gKyFEa/RZJDdJKb3y+nqKkl0qDYDp0ukSiIw8amiV+xIZeRzQYmZmi7OzN+7uQ3BxaYudXe0ScSM8P7pi6gJjpJRHDUG+NfAWYJcP11KUbFNpAEyHfjbweWOLPDzcD53uEWCGg4Mnzz47EVfXdjg6voyZmWWW5zM1eR7YpZR/AgghWgCNgJnALuC3vL6WouSUSgPwdE6dOsWDBw9o3759hvskJSUhpUw19DQ9OV1AIj4+yNgiDwvzJSHhLgA2Ni/g5jbQ0E/eCgsL52yf01Tly81Tof+u0xcIAxKllLGZff25d+8eWq02w+fzS2hoaNY7FTOqTkVfcarP2bNn2bdvHzY2NgghOHXqFImJiRw5cgTQj0pq2bIlZcqUMR4zbdo0ateuneVKUYsXL+b69et07Ngx3ed1umhiYo4SE/MXMTEHSUi4DIBG44qtrRcuLl7Y2nphYaHvJ09MhAcPYoCYPKh58XifMroHkC83T40nF2IWcFZKuUEI4Sel9M5gV3XzNI+oOhV9xak+Dx484M6dO1hZWWFmZsasWbPo0aMHtWrVAvQr/7i66vOf2Nnpe1vv379PdHQ0VapUAfQjjI4dO5ZuojULCwssLCwMXSuPePPN9nTtak1Y2F4iI48iZRJmZtY4ObUwTAxqi719XYTI/8Xfisn7VGA3TycAd6WUqwBnIDyvr6EoSsHQarWMHj3a+PjcuXPcuHHDOOnG3NycvXv34uPjQ6VKlRg1ahTPPPMMU6ZMYceOHam6bJ5MtPb1119jaxtHly4OhIXtJTz8FFrtPwQECBwcGlCx4jhcXNri6NgUjca64CptAvKjK2Y58KsQYjBwFtiTD9dQFKUA+fn5MWfOHH7//XdiYmJYu3YtY8aMMWbMjIuLY+LEidjY2DBx4kRiY2M5deoUq1ev5pdffjGe58cfF/Pdd9+QlBROcHAIZmZaFi8GMzMr3nuvJb17v4uLS2ssLFwLsbbFX37cPA0D2qWz3Tuvr6UoT8rNiu5Kxqyt9S3l27dvY2FhwbZt29i7dy+1atXizp07xhukBw8e5IsvvjBmxLSwsMDV1RU7O1umTHmLt99+hrCwvZw48R+tWkHXrq5s316bsmXr8f7701i2bBu2tk6UKdOrMKtrMtTMU6VI+PDDD3nzzTdZuHAhCxcuxNnZGdBP6Y+MjOTNN99k3759BAUF8fChfs7bBx98QNmyZVOdJ6uVj5TcefDgAba2tuzatQsAOzs77t69a3ze29ub27dv02PA25Tv3I6EgB2UNrtG/+6XiIw4QWCgJU5OzXnmmS64u3vSrNlUTp78BmdnZ2xs9H3xJWF8eUFRgV0pEuLi4gAYNGgQP//8MyNHjqRXr15cunSJhIQE1q1bx4wZM9ixYwerV6+mR48ezJgxI09WdFeytmjRIm7dukVwcDAAd+/e5dIl/WzOmJirJCRs5Ergn0QE72Nuo70cSoDrwc9wILA7TWu8RvMG3dFobNm//yusrV0RQmM8t0q0lvdUYFcKxaBBg7h27ZpxJMW1a9c4ffo0zs7OxMfH07NnT77++mu2bt3K+fPnCQkJoU6dOlhZWREbG0vdunXRaDRq5SODyMhIHB31eU4uXLiQ7mLeoaGhaDQanJycMj1Xyu6shIQEAH766SdA/w0qKSmKHj3cCQvzpU+fkxw//oJ+nxW2lKlaiaWne3H0TCLRkUk42Hdk7Toflo8uRYcOHVSitQKiArtSKMzMzPj++++pXr06AN9++y0VKlSgdu3a+Pv7ExMTw59//smdO3c4d+4cgwYNYv/+/QD4+PikGm1RUlc+euedd/jhhx8AmDx5Mv369cPR0ZFFixalWRwZ4JdffuHq1assWLAg0/Om7M6KjY1FSp1xhmdCwhZiYq5y/jwsWWJJ2bLPYGc3jBEjNnIuyolSXcZwO9icRPvrRPrO4dHZ/SRFPaDGcv0C4rlNtObv709UVBTNmzfPcJ9bt27x7LPPZnoeKBn3YfJ1HHsOqHHseaS41Omdd97h9OnTSCl56aWX6Nq1Kzdu3ODhw4c8//zzvPXWW+zcuZP//e9/VKlSBTs7O2bNmsUXX3zBihUrePPNN9m2bRtWVlZ89dVXuLq6prvykZOTE2+99VZhVzeVvHqPBg4cyJQpU+jXrx+WlpZoNBqCg4Oxt7fH1taWbt26sWnTJuPQxMTERKKionB11Y84SUpKYubMmVy7di1Nd5aZWTwQRWJiGI8eRfDqq5IuXSxwdGyKi0tbXF3bYWf3EhqN/ubpoUOHmHAoId+SrF27do133nkHPz+/TF+PHj16ZPlBnt39isnfUsGMY1eU7IiNjWXLli3cu3ePLVu2UK9ePZYsWUJCQgIzZ87Ez8+PWbNmMWXKFLy8vFiybjvvfe/HzYv36fnTeep6tmbjxo0MGDCgxK58NH/+fEqVKsXBgwfx8fHh008/ZevWrdSoUYPg4GAiIyPZuXNnhsFw+vTphIeHM3ToUAYN6mhMa7ts2Q5sbWPo2FG//JuLy1u4uLTDyckLc3P7dM9VpUoVxtnJPE2ytnz5clatWoW5uT5MxcbGGlvacXFxTJ48md27dxv7+iMjI5kzZw6LFy9GSkmTJk347LPPSuR9GBXYlUJx69YtSpUqxeXLl3F1dcXDwwN/f39Wr14N6EdZTJs2jbVr13Lh9gM27z2GVTX91/Dr505x5thW7N8ZxACefkX34mjRokVs2LCB+fPns2DBApo2bUqNGjVYvHgxpUuXpnLlygwcOJAtW7ake3xiYih9+jxLbOwujh6dzLZt1/j9dzAzsyQ01BJLSzf++qsiZmaWjB3bgu7dO2VZprxOspb8odO/f/8M91m6dCnr16/HwsKC2bNn88UXXwBw9epV41q2JfE+jArsSoGLjIwkMjKSQ4cOMX78eGbMmMHgwYPx8vLi999/5/79+0RGRlK5cmVOnDhBuNafmNAwrKo2AykRljbYeXbjsKwKPP2K7sXRsGHDiIiIIDY2lp49e/Ldd98xcuRIPvjgAxo3bsysWbMIDAxk4MCBhin7Oh4+vEVw8F0qVYKkpEi0WnjvPVuaNm2DuXkdRoxoyHvvTTION83NQt55mWRNo9FkmUNqw4YNODg48NVXX1GxYkXj9kqVKvHll18aH5e0+zAqsCsFbunSpQwcOJBmzZqxbNkyhg8fzkcffUT//v3p378/H374IWvXrjXOZtx6vxR//7kfdFqkTotlaf1yZUGG/tySuPKRubk5QgjMzMyIi4tj2rRpzJgxgzp16lC1alX+978BLFjwIT/+2ImwMF8iIg7x77+x+PlB5zdrcvuRJ42qvUaXBl0wM7Ng374FWFk5p9t1VVjdWVqtNtNrnz59mvHjx2Nubs7ff/+Nl5cXu3bt4tq1a9jY2FCqVCmmTZtG8+bNefDgAYMHD073PkxOPriKCxXYlQKXHHAtLCxo0qQJO3bsoFw5/Yrva9eu5fLly1StWtW4nqnfd77Y19EvAW9branxPOkt/pubFd2LM51Ox7Fjx1izZg0rVnzBJ5+MpXlzf86ePcSRI2uxtwdb2xrEmr+Bz1Ut/neCOX1M/y1m0yUNWvP7dK9fvkh2Z4WEhBhHTaXnxRdfZM+ePSxfvhxPT09mzpyJTqfDy8uLTZs2GX+ngBJ3Hyb/U6QpyhOSM/qB/o8q5R8gQNWq+i4WMzMzNBoN3V8sj42FJtU+auUjuHMngO3bl/Lyy0HMnBnAwoWNuHv3L+zsTtK16ys0aPAjTZrcplGj88z8qz8XQ6uhlY/bcrGJWubt1t94zKw7q127NBlCCsTx48czDezJPDw8CAsLw9OrDc/UasZZrTu9fr6Az6lA4z6ZfXAl35w1JSqwK0Veo8quzOlRh/LONgj0w+fm9KhT4hbM0OkSCA//ixs3PuGzz17g7t0fMDPbxLJlvzNyZAgHDz5LRERtRowoQ6dOB9m6Nca4puf1M8cJP/QLZtaOqc6ZsjurW7duQOrurK1bt6ZJ21AQjh07RkREhPFDPjNNmjTBukItLtwJRZZ+gcTQO5z6YRKjFm8yBvei+MGVn0zvo0oxSSVx5SMpJY8enTMOQwwP/9O4/FuHDp706zcFF5d2ODo2wczMEq1WS1JSEhYWFmm6HipVq42Zw4eYO6cO0kW1O0tKyddff53pPjqdjo4dO6LVarluUx3XbhPRWOuHY8bfvcz9v37h82efo3v98iXuPowK7IpShMTHBxIWto+wsOSZnvrcLDY2VXFze9Ow/Jt3usu/aTQaNBpNmu0AE1+tX6wW8m7SpEmW+5iZmbFnjz4reOWJO0hZc6tyVSnT8xPupZ0vVSQ+uPKbCuyKkkdyM1U9KSmK8PA/jYE8JuY8ABYWpXFxaYuLSxtcXNphbZ31VPnMmPpC3u7ONunOek3vG0lJoAK7UuKsWrWKPn36YG1tze7du7ly5QojRoxItU+ZMmWoWbMm/v7+7Ny5k6lTp6Z6/scff0w1bhqylzJYp0skNvYEAQH+Tyz/ZoOTUwvc3N7Kt+XfTLk7a1yHasXqG0l+U4FdKXHKlClDv379mD9/Ph9//DGWlpasXr0anU6Hk5MTvr6+NGzYEB8fH1577TXMzc3x9PTk888/B/Q3GpOSkrI1Vf3999/n9debGVvk4eEH0GqjAIG9/UtUrDjW0E+uln97Gqb+jSSnTDKw63Q6EhISjKu/KEVT8uiErMYRHz58mF698m5lnY4dOyKlJDQ0lM2bN7NixQpu377N5MmTjcPihBAcO3bMuPTbk4QQGU5V79evk+GGpy9hYdM5ceIOANbWVShT5g2gAVWq9MTColSe1Ukx7W8kOWUSgf3dd99l8ODBNG7cGNDnifj444/ZuHEjUVFRnDlzxnhT6bnnnuP777+nTp06NGjQIM255s6dS926denYsaNxm1arxcvLi8OHDxdMhYqpH3/8kU8//dTYRXH69GlefPFFAM6ePcupU6dSdV8sXrwYa2tr3n333UzPu379eszNzfNk2ndsbCwTJ07Ezc2NunXrsmHDBsqVK0fHjh2ZNm0a7u7uDBgwAIADBw6k+zuS0urVq/nuu6VotREEBgYiRCxffqnPYf7GG/Z069bJ0Ffe1rhSUFBQkArqSr4yicBuZWWVajRAcgpT0E9COHjwIADz5s1j27Zt+Pr68u6775KYmIhOp0On0xknKQghsLKyAqBVq1YcOHAAjUaDjU3h3oTx9fXl+eef586dO+nmpC4Kuajt7OwYOnQoY8eOBfSJvJIzC3bv3j3NRJCUE5VSerKLIyIiIs+y8VlZWdGhQwfmzp3LqlWrKFWqFObm5mzbtg2At956i2rV9P2yPXv2ZPrHHzPe35/1SUmcPHkS0C9k8eGHXbl5cy2nT/+Il1cAHTtq2bRJQ5kyVXnzzYGsW3efMmVqUavWOzkuo6I8rWId2GfPns2BAwe4fPky//77r3EFmdjYWC5fvky7du1o2rQpM2bMYOjQoSxYsIDq1atz5coVevfuzY0bN3B2dmbixIm88cYbgD6wJ3/1Tl7dJ3l7Qbl//z49evTA3NwcnU7Hu+++y+LFi9mzZw9vv/02e/bsSRMkp0yZQo8ePWjUqFGm587PNUGllPj4+BAQEABA7dq1jTclK1SogJWVFR988AHffPNNusdPnjyZTz/9NE0Xx4wZM6hUqVKeZOMzMzPD09MTNzc3/Pz82LdvH/b29jRu3Jjp06djYWGBra0tADVr1kQbGEjIjRv0fLUVY5b0JCxsLxMnPuTcuddwcwMp3XF1bU/duqP499/TuLqWoVKlQVhbL8DMLP2hh4qS34r1zNPJkyezd+9eXnnlFRYtWsSuXbvYtWsXP//8My1btmTv3r3MmDEDgP3799O4cWN++OEHhg0bhp+fHy1atGDTpk3GoN61a1cAtm/fbmzBffLJJ0RFRRVovcqUKcOcOXPYvn07VapUQQhBdHQ0s2bNombNmowbN45Lly4xfPhw2rZtS9u2bbl48SJz5syhb9++tGnTho8//hjQt34bNmxIy5Yt8fb25uLFi8ybNw9vb29atmxJw4YNWblyZZ6UOzExkV69enHlyhUuXryY6icxMRFXV1cOHDiQ4fE7duwwTqxZvXo1zZs3p3nz5qxcuZLZs2cbH/v4+DxVOZOSkoz/nzt3LlJKTpw4gbu7uzGo63QJfPXVEE7f+pdrU+Gu3QGuXBnG/ZAT2Nh48Pzzi2ja9D4VKnxEmTJ9cHVtj5mZfkELU56qrhQPJvObN2TIEBwcHAB9En4PDw8Azp8/z/r167l37x6rV6/Gzs6OXbt2MWzYMC5cuMBzzz0H6PvR4+LikFLSqFEjNm7cCICnp2e6y4zltwULFrB+/XqioqL46quv8PT05K233mLDhg18/PHHmJubc/369TS5qIOCgoiJiSmUXNRRUVHY2dlx7949Nm3alOq55A/PzIJdym9FKbPxpWyx50U2PkdHR4YMGcKAAQNo3749zz77LBMmjOP8+X94rak13AkkNPQhpUvDN19DxAH40wdO7XKGpFhCEkOY422GpWfpEpkyWCn6TCawL1u2DE9PTwACAgKYOHEioA/yrVq1Ytu2bUybNo3t/91jxYkHVPB+HVdpzTb/u3SvX56AgABeeukl7t27R6dOndDpdKxZs4YuXboYg3xBiY2N5e+//+a1117j3LlzrFu3jj59+hAYGMidO3c4ceIEf/zxR5HLRf3gwQMaN25MVFQU69evT/VcejMiT98OZ9/lUGZc3IG7sw0RsYnG5/IrG19MTAyDBw+mZs0ajB3bCxeXi9y/P5DBgw8REhLPgf0Cq9uguQnd5oDDJQjQwfdA59hwJLBDmOFiGHFV0qaqK8WDyQT2jLz00kvG//92KpAp2y6QWLk5MTuWUb3vh0za8h8A3es/x9y5c+ncuTPVqlWjdu3arFmzBo1Gw+uvv24MhAXBxsaG06dP8/7779O8eXOee+45WrduzcSJE1m/fj3Tp0/PMBf1pUuXcHBwKJRc1P/88w8DBw7k0aNHGS7Hltyq9TkViM+pQJKEOfZAYHgswRFx+JwKzLc0srGxNwgP38vUqTrCwhYRHh5KeDjY2dWhfPnh1K7dlm7dWqC5dJO/v3mFmCuBCF08lYHKQIy5FQ/sXVjY8xO6vpP2pmhJmKquFA/5EtiFEK5AA+CUlPJhflwjJZ1Ol6YrplKlSqn20Wq1fLn3Mo+iIgjZuxTryi9xac9abFpYM/cPc7rXL29cpi15pEZhLvQdGhpKtWrVuHfvHkIIdu3axfnz57l//z779u1j37596eaibty4Mdu2bSvwXNTh4eEEBATg4eGBh4cHvr6+qZ5PHop68+ZNvL29OXUrnJjwByDMiP5Pv29C2F3m7b5E9/rl86SLIzExlLCw/cbJQXFx1wGwtCxPqVKv4OraDmfnNlhZuaU+sGZN+OcfrFxTD0m01CbSddBCHMua5nJ7iunI88AuhHABtgM7gK+EEK2Bz4GawA4p5ad5fU2dTsf3339vbJ0HBATw0UcfGZ9/5ZVXcHFx4dK/hwjd/z1OTXpjX7c9z8Ze4egvC7hhbgm0ZfTo0cyfP994XHJw1Gq1xMTE5HWxM/X5558za9Yspk2bBugn1aRssSfz8PDgv//+w9OrDdcfxlDKrRK9fr7AuA4642SNglhE4a+//jL221+6dIm2bdumej4+Ph7QfwCAPmmTyxPnCPphGIGh0UDqLo6kpKRsdXHodPFERPxtzIYYFfUPINFoHHB29qZChVG4uLTD1rZa1h9oBw+is7FFFxeLmZTohCDO3JLmdy/QYeDgzI9VlEKWHy32usAYKeVRQ5BvDWiklC8LIVYKIV6QUl7Jywt+9913qR57eHiwefNm4+Pff/8dgKaz92Lt8SLCXD96wbn8c5R7axEVXPWpPjdu3GgcFQEYu180Gk2BTk7av38/Li4uuLi4IIRAp9Oxb98+bt26xf379/nrr7+YNGkS7dq1o0mTJuw9dZ0L2w9hWbEOUfcvE/jDJEZd6QcjeuVZ6zcrr776qvH/QUFBWY77Ty9pk/s7SyifTtKmYcOG4e7unma7lDoePfqP0NC9huXf/kKni0UIcxwdm+DhMQ0Xl3Y4ODTEzCztePlMrVqFRewjwmrWZVzL9/hgywLqBl9hSuhJyteflrNzKUoBE9ntbhBC1AbKA7eA21LK6Cz2bwF8ClwFNkkpdwohXgdspJQ/ptz33r17MqtFa/PC8RuhrDl6kwStvgVbyV5yN1bDgCaVaFTZNd+vn11SSuLj4xk8eDC9evWiYcOGxgk6yXQ6Hf3790er1ZLgVhvX2i2xtLWnkr3E/8JVLu/bQJt3JjLvjcapzr1kyRIcHR2NsysLy5PvBYClxizd9yI0NBRXV/22xMRAYmIOEhPzFzExh9BqQ/THWlbF1tbL8PMyZmb2T1fAjz6CRo2gd28wMwOdDjZuhBMnIMW3utxIWR9ToepUONzd3dP96pmtwC6E+AZwR38PaSowREr5aib7C2AxUAF4CCySUvoLIdoDL0kpP3/ikALrzPY5FWhMFNSyojndm9Yu9vklKk/cYXwB67rqOBOq71MXwI3PuxRaubKS8r3IKGlTYmI4169vRoh/CQvbS2ys/suepaWbYap+O1xc2mBlVXzew6CgoHS/gRRnqk6FJt3Ant2umDpSSm8hxH4p5Q4hRKa3/6X+02K4EGIW0Av9aDEAewp5UlTKREHF5I3LUnHNRZ1e0iadLoHIyCOEhfkSGrqXqKgTgA4zMzucnVvi7j4MF5e22NnVMslFiBUlL2Q3sD8QQnwCuAgh3gSCM9pRCDEBuCulXAU4o79x2hw4CtQDLj1ViZU0inMu6sfLv+1NsfxbDKDB0bERlSp9jFZbnypVuhhndiqKkrnsBvaBwHvAEcAJeCuTfZcDvwohBgNnAR/gLyGEO9AJyHrNKyVHUuaiFjyifBHPRa1f/s3X+PN4+bdquLm9ZRiG6I25uROg/2algrqiZF+mgd1wAzTZKcMPgCfwV3rHSCnDgFTLfgshvA3b5kopI3JZViUTyd0aRbF7Sb/8m59h9MpeYmMvAimXf9P/JC//ps9A6VSYRc4TWq02wzVIcyo/s3IqpierFnsrw78tgUTgH+BFwAHwyu5FDMH+11yUTynioqOjCQ0NJSwsjPv373Px4kVOnjzBlCm9MTf/h7AwX6KijiFlElu3WuDk9AKDB8/LdPm3/MxAWZC++eYbHBwceOeJWarJS/N5eHggpTQG/+T5EskT7VIylddEKRjZHRWzT0rZJsXj/VLK1nlYjkKZ4lkUW7dPqyDr5OfnR//+/alXrx729mZYWYVTpUoUTk5XeOGFWBwcBA4OnoaRK21Zt+4ctrb2aRKQpbfEXHKudiklERERjBw5Mlf51wtau3btSEzU57wJDAzEysrKOAnMwcGB33//nW3btjFz5kyGDBnCsmXLSEhI4O7du1SpUgUzMzOOHDmS5WvyNDnp84P6Wyo06Y8gkFJm+QPsBUaib7kPB/Zn57gc/BSKwMDAwrp0vimoOsXF3ZXffTdcjhxZX/79d3m5dCmybVvkkSPPyYsXh8j79zfJhIQQOWLECOMxS5culT/++KPx8aRJk6RWq01z7q+//jrVfsXpfapdu7bx/+PGjZMHDx40Pq5Zs6aMioqSt2/fTlXvU6dOyTfffDPT8z75mhQ1xek9yq5iUqd0Y2p2b572Rn/ztC/6CUp5twClUixotY8ID//LmHfl0aP/OHgQnn/eHienzlSpUg03t/M0aaJP15uQkIC5uUWW+ddnz54NZJ6B8u233y4yLdOspOxTP3r0qHFpQNCvGLV7926mTp3KwoULadeuXTpneKygsnIqpie7gf1V9EMc76HvNukKrMqvQimFT6dLIjr6H+N0/cjIw0iZiBBWODt7UbZsf27d2si1axb4+d0jOvoad+7cMd7gS0pKMq5VmpGM8q8/mYEyIqL43W/fuXMntra2/Prrr9y9e9eYu6hnz55Uq1aN0qVLZ3mOgsrKqZie7Ab25L9AG6Aj+tmkKrCbECklsbFXjAm0wsIOoNXqA6q9fX0qVBiNi0tbnJyao9HoJz799dcE/P39uXPnDuXLl2fBggXMnTuX6OhoqlSpkqPrZ5aBsrjZv38/o0ePZt++fbi5uTFgwABjyxv0C3106tSJjxasYcnhYG5cOkfSf3eNKYuTFURWTsU0ZSuwSyl/TvHwOyHEknwqj1KAEhIeEBa2zxjM4+NvAWBlVYkyZXrj4tIOZ+dWWFqm37p8+PAhb775ZqqgdffuXd544w3WrVtHvXr1UuVfn7f7EhEJ8H3w/jSTpzLLQFm2bNm8qnK2JSUlce7cOerVq5fmOSklOp0uzVDG5DqUKlWKDRs2UKFCBUDfpZKyS+rXX3/l2dqN+HTvLeOkspgEbYq1AQouK6dimrIV2J8Yz14aqJU/xVHyk1YbS0TEQWMgj44+DYC5uTPOzq159tlJuLi0xcbmuSxbhJGRkXTs2JGFCxfSuHFjTp/Wn6tevXqsWbOGHj16cPz4cW7evEltz5e5/uARiVEhIMz45z9f+i0VyIfXjefLLANl79698/7FyMLt27cZPXo0+/fvT/Pcv//+y9ixY9FoNAQGBmJmZka5cuXQ6XRERESk+TCwsLBgzZo1hIeH8/DhQ7788kvKv/k115YPQwgzpE6LLjaS6z+Mov+KBOZ/Mo6hQ4eqZfeUXMvucMeUeUoTgG1SynN5WA413DGPpKyTlFqiok4ZA3lExN9IGY8QFjg5NTMm0XJwaIAQOZ9Ic/XqVZ5//nm2bNnCd999R8OGDfnss88Aff9wcj9ys8/3p5vL5v5PI4i8cyVNP/zcuXNxdnbmvffeS1On/LZnzx5mz55NVFQU9+/fN66JCzBmzJhU6YlBnzLa2traOITz+eef5+rVq6mGK8bHx3P69GkcHR154YUXuHfvHrcfmeFQvxP2ddunOl9GiduefE2KGlP/WyrCcp/dMc1BQjSXUh566iI9pgJ7HgkIOIKl5RlDMN9PUlIooF/+LXk8ubNzCzQauzy75t27dwkJCaFmzZrp9gunzD6ZUnazTxbk+7RhwwbCwsJ4//33U21fs2YNCQkJVK9enZ9++slYz/Pnz6PRaKhWTd+1lJSURJ8+fWjfPnXA/vLLLylVqhSDBg0iKCiI3qsupvthV97Zhr8n5uUUkYJhin9LxaROuc/uKITYK6VMOTZrDjmYearkn8yWf3vmmVcN/eSt0y7/lofKlSuXaim+JxWn7JMajYaFCxeyadOmVNuDg4MZO3Ys1atXZ9iwYRmO9tFqtcbXIqPhigkJCbR5fQg+FuWLZeI2pejLKldMXaA+UF4IMdCw2Q6Iy++CKenTauOIjDxsDOSpl39rhYPD23h49Mze8m8FpLhln/zwww/TbbEnJSXh6uqKg4MDpUuXTjVGHeD06dM8ePDAuGZuRsMVZ8yYwbMuZsxpVSfLfPSKkhtZtdhFOv+GAH3yrURKKlLqiI72T9FPfhCdLi7F8m/TUyz/Zk5QUBB2dkXr62PK7JPFIYhl1mIH/c3Ql156if3797Njxw7Mzc3p0KED3t7eqVryWQ1XTC8fvaLkhUwDu5TSH/AXQlST+vzqSgGIi7tlbJGHhe0jMfEBALa2tShXboihn7wl5uZpk0UVVcUpiGXWYofHaTh8TgXy/szvMKvemsqnLIiIjk81DDKj4YqhoaGpbsoqSl7L7jj2yfldkJIsMTGc8PADxmCecvk3V9eOxrS2VlZFqyVuqrJqset0Ouq17s6HC9YRfjcAB7dgzqzbhU2Z2vx2OogeDSoCGQ/hvHz5MpMnqz8pJf9kd+apkocyX/7Nm/Llh+Pi0hZb25pFpp+8pIiLi8uwxf7o0SMCAgJYt24dP6/eQoKZNaW7TUBj54K5Y2nCD65hyNtv0vHIdmxtbRk8eLDx+MTERBISEhgzZgyvv/56oUy6UkqOTIc7CiG+klKOEUIc4PGQRIF+WVOVtjebpJQ8enTW2CJ/cvm35PHkjo6Nn3qloGIyRCtHilKdIiMj+eOPPxj3txYz27SLgcTfPsvdtRMyPUdRqk9eUXUqNDkf7iilHGP4t1Vm+ylpxcXdSbX8W2LiPeDx8m/6YN7KuPybUjw4OjrSt29fFt1If9JVlToNC6FUipKa6orJI0lJkYSH/2lclDkmJnn5tzJPLP9WsZBLquSF4jaEUylZchXY82HmabGj0yUSFXU8RVrbo4AWMzMbnJy8cHN7B1fXdtjZ1Ul3+TeleCtuQziVkkXNPM0mKSUxMReMXSvh4X5otVGAGQ4Onjz77ARcXNrh5PQyZmZWhV1cpQAUpyGcSsmiZp5mIj7+riGtrb5VnpAQBIC19XOUKdMPV1f9dH0LC5dCLqmiKMpjauZpCklJ0UREpFz+7SwA5ualcHFpY+wnt7GpXMglVZSn4+fnZ1ztSjE9JXrmqZRJREQcNU7Xj4w88sTybwNwcWmLvX191U+uFIpNmzZRqVIlGjbUj7bZt28fP/zwA+PHj0dKibOzM5UrV2bu3LnUrVuXjh07Go/VarV4eXlx+PDhNOdduXIl4eHhat1UE5XtmadCiNLol8YDKC+lPJJ/xcofTy7/Fhq6H50uEhDY279oWP6tHU5OzYzLvylKYWrdujVjxoxh9uzZuLu7o9Fo0Gq1BAcHo9Vq0el0VK5cGSEEVlb6ezutWrXiwIEDaDQabGz0v8cp88MLIYiJiWHevHksWLDAcP8ohqFDhxabRcOVzGX35ukPQGXABYhBP6GoeQb7OgHrAQ3wCJgIfAU4AsellB89fbGz7/Hyb/rulZTLv9nbd6VChW44O7fG0lItNaYULbt372bfvn0sXrwYe3t7OnTowMOHDwkJCSEkJASA5cuXA/qkYsmzlO3sHufaT942dOhQhg4datyeMtukYnqy27/wPPpFrK8CLYG02Y0e6w98JaVsDwQDR4BZUkovoIIQwjvXpc0GrTaG0NA9XLs2jpMn63P4cBkuXHiDhw+34ODgyQsvLKFRoys0aXIDN7d5lCnTRwX1EiohIYHsLDSTnX38/PzyoESptWnThoSEBFavXg1AWFgY//zzDwEBAfj6+lKhQgUSEhLo2rUrANu3b2fbtm0AfPLJJ0RFRaU63+rVq2nevDnNmzdn0aJFzJ492/jYx8cnz8uvFJ7sjmOPAdqgb4X3Bpwz2lFKmXKh69KALfCv4fF9IE+nWj5e/k3fIo+IOISUCcbl3ypX/gwXl7a5Xv5NMV39+/dnwIABdOvWLcN9JkyYQK1atRg4cGCG+0D+9Fmbm5uzYMEC42OtVptmH61WS1xcHFJKGjVqxMaNGwHw9PQ0tuaTZZQffsGCBYSFheVZuZXCl93A3gsoB4wG3gF+zeoAIcTL6LtuPgWmCSGOom/1T3py33v37qX7S5uV4OAPiY72RacLB8DSsgbOzm9ha+uFjU1jzMxsAYiOhujoe2mODw0NzfE1izpVp4zNmjULX19fY8ZFgM8++8y4TmtAQADjxo1j1qxZVK9e3bjPgQMHWLx4MQAXL15kz549HDhwgA0bNmBjY4MQgtjYWC5cuMDcuXMN93JiGThwIK+//vpT1efo0aP4+/vz+uuvc+3aNby8Hk8fsbKyIiIigqpVq3Lt2jUaNGhA06ZN2bx5M/Xr1ycwMJD4+HiCgvTDdKOiohBCEBQUREREBFLKNP/PLfV7VzgyymWT3Zunj9B3wwB8IoQ4jj5gp0sI4Qp8A/SUUt4UQjQHxgE/Symjn9w/t5nuIiLssLV9zTAMsQ2Wljk/TzFI8pNjqk7pc3R0ZM6cOXTs2NGYWz2Zubk5M2fOpEmTJrRo0YIPPviA4OBgoqKiCAwM5OzZs1SsWBEvLy8qVarEpEmTmDTpcRslp33W2a3P8uXLmTp1KpcuXaJTp06sW7cuzT5Nmzalc+fOeHl5EelSjX8X/kyLb8/g7lyN6ITH13JwcMDFxQV3d3ecnJxwdnbG3t6exMRESpcu/dSvsfq9KzryPFeMEMIS2AhMklLeNGw+DTwLvJGX16pR46e8PJ1i4mbNmoVGo6Fz5840a9YMW1v9N7qkpCS2b9/OoUP6LBleXl7Ur1+fZcuW4eDgYMyrbmNjg1arNa6SlNGapgBjx4596m6Z3377jaioKOrVq0eLFi2YP39+uvtdvnwZV1dXdpy9z6Qt/xGXqMURCAyP5cH9aHxOBdK9fvkM88OfO3eODz744KnKqhQtWc087ZfeZsA1k8PeAV4CPhZCfAwsBWqiv6Eak9uCKsrTsrTUp0S2sLBg9+7dxrVJdTpdmsWppZTGxTB0Oh2nTp2ifv361KlTh4ULFwL532fdpUsX6tWrR1BQEEOGDKF16/QzZY8ePZr58+cz+LdLxCZq0djr/zylTos2IY55uy/RvX75DPPDjxkz5qnLqhQtWbXYX8hg++qMDpBSLkUfzBWlyPrtt9945hn9aKi4uDjjxB6tVosQAmtra3x9fVM9v3//fnQ6HVqtFo1Gk+Wapk/L3NwcDw8PAKpWrZrhfhs3bsTW1pagn68DUKrTSH0ZzDS4/W8+QemkFx4/fvxTl08purKaeTqjoAqiKAWpZ8+eqVrsyVasWMHvv/+Os7Mz3t7eRGvNuf4gmpjoSFyrN6FKaXveHdCbIUOGZLim6cOHD40fGgUhuUvJ3dkm3Rzx7s5qsl1Jo+bJKyXS5s2b8fX1xdfXl507dxq3DxkyhB9++AEpJTW9OvPIeyyO3adi7uJOkn1ZoluMpmwj/bjxzPqs27Vrl/ai+Wxch2rYWKQe0qtyxJdMaqENpcT49ddfWbp0KdeuXeP111839qtLKbly5QqtW7emUqVK3Lhxgzlz5jD2z1hiDS3gUp1HEX5gJcF/rWOeg02R7LNWOeKVZJmueVqATHrN04Kk6pR3Kk/ckeYXU0odZsKMG593yfV51XtUPBSTOqV7M0d1xShKBtLrmxbCTPVZK0WeCuyKkgHVZ60UV6qPXVEyoPqsleJKBXZFyYRa11QpjlRXjKIoiolRgV1RFMXEqMCuKIpiYlRgVxRFMTEqsCuKopgYFdgVRVFMjArsiqIoJkYFdkVRFBOjAruiKIqJUYFdURTFxKjAriiKYmJUYFcURTExKrAriqKYGBXYFUVRTIwK7IqiKCZGBXZFURQTowK7oiiKicnzFZSEEE7AekADPALeB34EygD/SCmH5PU1FUVRlMfyo8XeH/hKStkeCAb6AmullJ6AgxDCMx+uqSiKohjkeYtdSrkkxcPSwB2gnBDCGagI3M7rayqKoiiP5VsfuxDiZcAFWANUAkYCF4DQ/LqmoiiKkg8tdgAhhCvwDdATmAa8L6WMFEKMAd4Clqfc/969e2i12vwoSqZCQ3P2GXP8Rig+pwMJe5SAi50l3V8sT6PKrvlUutzJaZ2KA1Ork6nVB1SdCou7u3u62/Pj5qklsBGYJKW8KYRwAeoIIY4CjQHfJ48pW7ZsXhcj2zJ6YZ7kcyqQSbvuEJuoBcwgNIljwXeY08OF7vXL528hcyi7dSpOTK1OplYfUHUqSvKjK+Yd4CXgYyGEH3AUfQs9AnAF1uXDNfPdvN2XDEH9sdhELfN2XyqkEimKoqQvP26eLgWWPrH5i7y+TkELCo/N0XZFUZTCoiYoZZO7s02OtiuKohQWFdizaVyHathYaFJts7HQMK5DtUIqkaIoSvryZVSMKUq+QTpv9yWCwmNxd7ZhXIdqRe7GqaIoigrsOdC9fnkVyBUljyQmJnLnzh3i4uIKuyjp0mq1REREFHYxALC2tqZChQpYWFhka38V2BVFKRR37tzBwcEBDw8PhBCFXZw0EhISsLS0LOxiIKUkJCSEO3fuULly5Wwdo/rYFUUpFHFxcZQqVapIBvWiRAhBqVKlcvTNRgV2RVEKjQrq2ZPT10kFdkVRlExotVqioqLy5dwRERFIKfP8vCqwK4pSYgUFBdGjRw/j44EDB3Ls2DHWr19v3Hbjxg3ee+894/6RkZG0bduWyMjIVOe6detWqnN9++23BAUF8e+//7JmzZp0r//6668zf/78vKwSoAK7oigl2Lfffsvo0aO5ceMGABYWFri4uBAQEEBgYCCgH5EC+qC+aNEi/P39sba2TnVjNSEhAXNzc2xsbEhMTOSjjz6iQoUKzJ49m7CwMK5evZrm2vPmzaNFixZcunSJXbt25Wm9VGBXFKVEunDhAlFRUVhZWTFo0CB8fX25cuUKkyZN4sqVK8yePZsjR47w7bffEhUVxfjx4zlz5gwzZ87k+PHjvPrqqzRr1oyEhAR8fHzo168ffn5+zJ8/n7Nnz/LKK6/wzz//kJiYiJlZ6lD75Zdfcu3aNSZNmsSSJUv44YcfmDt3LomJiXlSNzXcUVGUQnflyiiio0/n6Tnt7V/khRcWZPj82rVrOXz4MBs3bsTPz48VK1bg5ubGyJEjadasGSdPnmTnzp2ULVuWu3fv8tJLL7Fjxw727t1L165d2bRpk7E136dPH1q3bs3YsWOZMGECf//9N2ZmZhw6dIgDBw6g0ehnrV+/fp3hw4djZ2dHnTp1+PTTTwGoVasW165d48UXX+S7777Dy8vrqequAruiKCXSp59+So8ePdi7dy/PP/88Hh4eHD9+nI8//hh3d3fc3d1xdXWlQYMGnD59mldffZWqVaumutmZcqz7mTNn+PPPP1my5PEicjqdjpiYGKysrACws7Nj8uTJ1K5dmxs3bhhb8jqdjhdeeIFHjx7h4ODw1HVTgV1RlEKXWcs6v1y6dIk+ffowYMAA1q9fT7Vq1ZgyZQo7d+6kUaNGHDhwgC+//JI7d+4A4OHhgZ+fHx06dDAGenNzc3bu3Mnq1as5cuQILVq0YMSIEezatYs//viDY8eO4eTkZJxYVLZsWUqXLk3t2rXT5HqPjY3l77//zpO6qcCuKEqJ5OLiwvz586lSpQoODg5UrlwZrVbL8OHDuXjxIuvWpV06YtCgQQwaNChNV8z//vc/OnXqxNixYwG4ffs2y5Yt45dffsHb25vBgwcbz2FmZoabmxu+vqnXHGrSpEme1U0FdkVRSqR///2XtWvXotVqcXV15fPPP2fKlCl4eHhQtWpVrl69SkBAAI0bN0ZKiZQSnU5n7C8HfRcK6IN1cheNVqulQ4cOTJgwgeHDh9O7d2/WrFlDy5YtqVZNnw32zJkztG3bNlV5wsLC8qxuKrArilIiNWjQgBo1alCpUiVu375N69atmT17Nl27dmXGjBl07NiRzZs3Ex8fT3x8PGfOnOGjjz7C3FwfNrt3745Op+Ojjz6iXbt29O3blz59+qDRaHj33Xdp2bIlQ4cOZfjw4Xh7e3P48GGqVauGTqejTp06aVrsDRo0yLO6ifyY9ZQLhVKIoKCgYrumYUZUnYo+U6sP5K5OFy5coEaNGvlUopyTUqaauh8ZGYmjo2OujpdSEhwcTLly5fKsfBm8XunmGlDj2BVFUUibjyW5/zw3xwsh8jSo55QK7IqiKCZGBXZFURQTowK7oiiKiVGBXVEUJYXMFrTw8/MruII8BRXYFUUpsWbPns2+fftSbevduzfHjx+nX79+aXKlr1y5Eh8fnwIsYe6oceyKopRYlpaWaDQa9u7dy2effQbA+fPn+eijj3j06BEzZ85k+/bt2NraIoQgJiaGefPmsWDBAqSUxMTEMHToUN5+++1CrklqKrArilIs+JwKZN7uSwSFx+LubMO4DtXoXr98rs+3e/dufvvtN44cOULbtm2N6QKGDx/OuHHjSEpKonLlykybNs14zIIFC3B2dmbQoEF5UKP8k+eBXQjhBKwHNMAjwA94zfC0M3BMSjkkr6+rKIrp8jkVyKQt/xGbqAUgMDyWSVv+A8h1cO/QoQP//fcfnp6ePHjwgKlTp7J69Wq8vLwIDQ1l4MCB+Pv7s3r1apYtWwboJ2KZm5uzYsUKAMaOHUv37t2fvoJ5LD/62PsDX0kp2wPBwA0ppbeU0hs4CHyfD9dUFMWEzdt9yRjUk8Umapm3+1KenD8hIYFp06bh4uKCh4cHR48epVq1amg0Gh48eMDgwYM5dOgQI0eOZPLkyRw6dIhevXrlaX6XvJTngV1KuURKudfwsDRwH0AIUR4oK6U8mdfXVBTFtAWFx+Zoe04cPHiQ8+fP88wzzwBQv359vvzyS2OSridXP0rpydmqRUW+9bELIV4GXKSURw2bhgNL09v33r17aLXa9J7KV6GhoQV+zfym6lT0mVp9IHd10mq1JCQkZGvfck7WBEWkHYZYzsk62+d40tq1a9mxYwfdunVj+/bt1KlTh+DgYFxcXLh16xZt2rThwoULJCQkkJSUZPw3KSmJhw8fcu/ePZydnXN9/ZzSarUEBQWl2pZRfp58CexCCFfgG6Cn4bEZ0Ar4OL39y5Ytmx/FyBZTS8YEqk7FganVB3Jep4iIiFQLQmdmfMfqqfrYAWwsNIzvWD3b53hSv379eOutt1i0aBFt27albt26TJgwgb59+/Lpp58yYMAAPD09eemllyhdurRxBI25uTmrVq3i4sWLjBo1KtfXzymNRpPt1zg/bp5aAhuBSVLKm4bNXuhvmhaJVJKKohQvyTdI83JUTPJydTVq1GDo0KFYWFhw7tw5VqxYQa1atahatSp169blueeeMx6TmJhIQkICY8aMYcyYMU9XqXyU52l7hRBDgdmAv2HTUqAecFJKuSWDw1Ta3jyi6lT0mVp9wDTS9j4p5XqmRUFO0vbmeYtdSrmUtH3pG/L6OoqiKEr6VEoBRVEUE1OkA3tsbM6HMmm1WqKjozPdp7gk8lEURcmNAg/sQk8jhFgnhHARQiwaOXIkiYmJ9OnTh8TERGPinS5duqQ6tnnz5iQlJaV73po1awLw33//8eGHH2ZahuKSyEdRFCU3CiNXTDlgC1Ad/dj20pGRkYwcOZJt27bRuXNnfvnlF0qXLo2trS0AH374IefOneP8+fN07NgRnU7H9OnTefToEV9//TWWlpYEBQXRtWtXIiMjuXnzJl27diUxMZFRo0YREBDAypUr0yTykVJiYWFRZBP5KIryhIgIaNoUDh8GJ6enPt2ePXuoWbMmFSpUYPjw4YwfP54RI0bw+++/G/dZs2YNd+7cYeLEicZtY8aMoUOHDnTo0OGpy5AfCiOw3wMuATrAHrgphMDCwgIPDw9eeOEFLl68yIwZMzh//jyLFy9m4cKFALRt2zbNyt6dOnUCYNCgQfz000+cPHmSw4cPM3LkyFT7DR061Pj/5EQ+7du3N7nRCYpi0rZvh/PnYccO6NfvqU8XHx/PN998Q+/evdm6dSuXL1/m7NmzdOjQgU6dOjFq1Cisra0xN08dKi0tLY3DJYuiwgjs9dCPc/8f8BcwxMrKiiFDhhAdHc2IESOoWrUq169f5/jx47z88suMHz8ef39/Ll26RJcuXahSpQrffPON8YSrV68mLCwMrVbLokWLmDp1KhcvXuTYsWO8+eabxn2eTOSzZMkSLC0ti2wiH0VRnvDzz4//zYPA3rVrVypWrMilS5fYuXMnbm5ujBgxgk2bNpGQkMDVq1c5d+4cwcHB+Pv74+PjQ8+ePY3HJyUlYWZmlmnagcJQGIG9NvpEYRJYBVy7c+cOnTt35vnnn2fUqFGMHj2aVatWATBw4EA2b97M7Nmz2b17N9u2beP06dPGky1btoxRo0Zx/vx5NBoNlpaWXLhwgS+++IJFixYZ90tO5DNo0KBULfZff/21yCbyUZQSb8sWSDnY4a+/9P/++Sek/Fbu7Q09euTo1H/88QdfffUVLVu2xMrKik2bNhnjSJs2bbC3t2fMmDHcvn2bqKgoHjx4wL1794z5YcaNG4ejoyNLliyhWrVqT1fPPFYYgf04UB6oBSwAnrG0tGz02WefsWnTJtq1a8ft27fx9PTk3LlzfPTRR1SpUoWQkBBu3LjB4sWL+fHHH/E5FcjkRasIPHcCh1ot2Xv+HgPKluXmzZv88MMP+Pj4ULp0aeNFi2MiH0Up8RITYelSeHLQRHw8JH9rNzeH5s1zfOpOnTpRo0YNpk2bxs8//4yUktatWxu/5ffr1w9LS0sePHhAQEAAbdu2xcfHB41GA8C8efPw9vZ+mtrlm8L4/hADbEefs90GcAkPD+fChQsMGDCAWrVqERsby6RJkwBo1aoVlpaWfPHFF7Ro0YImTZpw4j5M2vIfMWXr4tL6HWITJTN+8OGll1sQEhLCwoULKV26dKplrXQ6XZqCREVF8fDhwzT9Z4qiFBF9+4K/P1SpAjY2qZ+zsdFv9/eHPn1yfYnkht2uXbto0KABAFJKduzYweXLl3N93sJU4BFNSnlLCLEQeB59d4zL3bt38ff3x9/fH3t7e9avXw9gzPgYFxfHmjVr8PT0ZM+ePay7mEicWx00tinuipd5AZcGral141ciIyMB+OSTT/D09KRbt244Ojri4uKSXAYAfvnlF86dO8cHH3xQUNVXFCWnataEf/4BQ1pdo4QE+Pffpx4do9Vq8ff3Z9y4cRw4cIBLly7x1ltv8ejRI/z8/AgLC2PPnj1Zzo8pSgqlqSql/BBACGEBbJo5cya9e/dOs9+jR4+4ffs2vXv3ZujQoXz++ec8fPiQ57uNxCJeYlfDS3++pATQJhEclcjEV15h3LhxaLVaypYty0cffQTA4MGDjedNTuQzZMgQNSpGUYqDgwfB1hZiY0FKEELfYj94ELp2zfVpP/nkEzZs2ECdOnVYt24dpUuXpnTp0ly5coWEhATmzJnD77//zuDBg+nRowczZ85MdbyUEp1OZ+yeKSryPAlYLmVaCJ1Ol6qPvNnn+wlMJ8F+eWcb/p7YOtsXVcmYigdTq5Op1QcKIAlY796weTN4esLixTBiBJw8Cb16wa+/5qLE+smMkyZN4ttvv2Xt2rX8+eef6HQ64uLiiIuLIzg4mEmTJjFs2DASEhJo3bo1VlZWqe7JabVaOnfuzLhx43JVhpwo1CRg+eHJG5/jOlRLNzfzuA5F6860oih55MoV+OQTmDoVNBo4cgRmzYLffsv1KevUqcP27dsBmDx5MpMnT071fMrsjpaWlhw6dCj35S9gxSKwPyk/cjMrilLwpJTZG5WWYogzoA/u06frf0qAnPasFMvADvrgrgK5ohRf1tbWhISEUKpUKTXkOBNSSkJCQrC2ts72McU2sCuKUrxVqFCBO3fu8ODBg8IuSrq0Wm2RuSlqbW1NhQoVsr2/CuyKohQKCwsLKleuXNjFyFBxvsldtBIcKIqiKE9NBXZFURQTowK7oiiKiSkqE5QURVGUPKJa7IqiKCZGBXZFURQTowK7oiiKiVGB3YQJIVyFEO2EEM9kvbeiKKaiRAR2IURZIcTBFI9/EEIcEUJMMTx2EkL8IYTYI4TYKoSwLLzSZk826uSCfkGTRsABIUTpDE5VZGRVpyf2O1XwJcy5bLxP5kKIW0IIP8NPncIrbfbk4H1aIoR4peBLmDPZeI+Gpnh/TgshlhVeabPH5AO7IcD9DNgZHvcANFLKl4EqQogX0K/B+pWUsj0QDHQsrPJmRzbrVBcYI6X8DNgNvFRY5c2ObNYp2Xz0q28VaTl4n9ZJKb0NP/8VXomzlt33SQjhBbhJKX8vtMJmQ3bqI6Vcmvz+AAeB7wutwNlk8oEd0AJ9gUjDY28gOYHzHqC5lHKJlHKvYVtp4H6BljDnslOnP6WUR4UQLdC32o8UeClzJss6AQghWgOP0H8AF3XZqVMToKsQ4rihpVjU03xkWSfDAjrfAwFCiG4FXsKcydbvHYAQojxQVkp5siALmBsmH9illJFSyogUm+yAQMP/Q4GyyU8IIV4GXKSURwuwiDmW3ToJfcq8vkAYkFighcyh7NTJ0EU2FZhY0OXLjWy+TyeAtlLKRoAF0LlgS5kz2azTQOA8MBdoJIQosmtP5iQ+AMOBpQVVtqdh8oE9HdE8/hpvj+E1EEK4At8AbxdSuZ5GunWSesOBM8CrhVS23EqvThOBJVLK8MIq1FNKr05npJR3DdtOAi+kd2ARll6d6gPLpZTBwBqgVSGVLTcyig9m6OvhVzjFypmSGNj/4fHXq3rovy5aAhuBSVLKm4VWstxLr04ThBADDducgfBCKNfTSFMnoC0wXAjhB7wohFhROEXLtfTqtFoIUU8IoQG6A/6FU7RcS69OV4Eqhm2eQHH6m0qvPgBewDFZTKbqF/X+vPzgAxwUQrgDndD3cb6D/ubix0KIj4GlUsoNhVfEHPMhbZ3MgF+FEIOBs+j7C4sTH56ok5Tyl+QnhRB+UsrBGR1cRPmQ9n06A/yCfu3KbVJK38IrXq74kLZOOmClEOJ19N1LvQqveDnmQ9r6AHQA/iqsQuVUicwVY7gT3g74y/B1sdhTdSoeVJ2KPlOoT4kM7IqiKKasJPaxK4qimDQV2BVFUUyMCuyKSRBCTBdCDMjjcy544vGLQogXc1gm77wsk6JkhwrsipIBKeWoJza9aPhRlCKtJA53VEoAIYQV8BPgDtwB3gImox9+5wU4os8JFAFsAVyBa8BZKeVswzn8DPlBEELMAV4z/P9/Uso2QojpgJ+U0k8IMchw6d/Qz4nQoB/C6CeEsAVWAWWA/wyTxhQl36gWu2Kq3kUfpFsCV3g8o/h5KWUL9MG8NVAdfeBvbnhudnonk1JOAj4HPpdStsnkuu8B26WUrXicxuE9Q1laAOWEEHWfrmqKkjkV2BVTVRM4Zvj/UaCG4f+rDP/eAizR5wVpgH7yycKnuF7yNPTKPJ49mpwsqhrwmmHGbBWg/FNcR1GypAK7YqrO8XjWYBPDY9BnhkypIzBLSvmylHJtFueMBWzBmGAtAX020OTzgP4Do5bh/y8a/r0ELDB060wx7KMo+UYFdsWUzBRCnBRCnER//6iWEOIv9Im1fsrgmFPAN0KI/UKI9UKI2pmcfy/QQwjxN/p++m3AB0KI74AQwz7LgZ6G1rmjYdv3QCdDWd4Hbue6hoqSDWrmqVKiCSHeBd5A3x+eCMyXUvoVaqEU5SmpwK4oimJiVFeMoiiKiVGBXVEUxcSowK4oimJiVGBXFEUxMSqwK4qimBgV2BVFUUzM/wEYQZFoDiONYwAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "ax = plt.subplot()\n",
    "ax.scatter(locations.经度, locations.纬度)\n",
    "ax.plot(regression_lngs, regression_lats, color='y')\n",
    "# ax.scatter(104.114, 30.695, c='r')\n",
    "ax.scatter(best_location.lng, best_location.lat, c='r', marker='*', s=100)\n",
    "\n",
    "ax.spines['right'].set_color('none') \n",
    "ax.spines['top'].set_color('none')\n",
    "ax.spines['left'].set_color('none') \n",
    "ax.spines['bottom'].set_color('none')\n",
    "ax.yaxis.set_tick_params(which='both', length=0)\n",
    "ax.xaxis.set_tick_params(which='both', length=0)\n",
    "ax.grid(axis='y', alpha=0.4) \n",
    "ax.grid(axis='x', alpha=0.4) \n",
    "ax.set_title('City location & Warehouses location')\n",
    "ax.set_ylabel(\"Latitude\")\n",
    "ax.set_xlabel(\"Longitude\")\n",
    "ax.legend(['线性拟合', '城市', '选址'])\n",
    "\n",
    "for city in range(locations.shape[0]-1):\n",
    "    loc_city = locations.loc[city].values.tolist()\n",
    "    ax.text(loc_city[1], loc_city[2], loc_city[0], ha='center', va='bottom')\n",
    "\n",
    "plt.savefig('City location & warehouses location & line.jpg', dpi=200, bbox_inches='tight', pad_inches=0.1)\n",
    "plt.show()"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Problem 2"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 计算城市之间的距离"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 197,
   "metadata": {},
   "outputs": [],
   "source": [
    "locations = pd.read_excel('附件1：城市名称与所在医院位置.xls')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 198,
   "metadata": {},
   "outputs": [],
   "source": [
    "site_selection = pd.DataFrame(best_location).drop('distance', axis=1).rename(columns={'lat':'纬度', 'lng':'经度'})\n",
    "site_selection['城市名称'] = ['Start']\n",
    "locations = locations.append(site_selection)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 199,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 计算指定城市到其它所有城市的距离\n",
    "def all_dis(departure, locations=locations):\n",
    "    return locations.apply(lambda x: dis_lng_lat(\n",
    "        departure, x), axis=1)\n",
    "    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 200,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(22, 22)"
      ]
     },
     "execution_count": 200,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cities = locations.set_index('城市名称')\n",
    "city_dis = cities.apply(lambda x: all_dis((x[['纬度']].loc['纬度'],\n",
    "    x[['经度']].loc['经度'])), axis=1)\n",
    "city_name = cities.index.values.tolist()\n",
    "cnt = 0\n",
    "for i in range(len(city_name)):\n",
    "    city_dis = city_dis.rename(columns={city_dis.columns[i]:city_name[i]})\n",
    "city_dis.to_csv('城市之间的距离.csv', encoding='utf_8_sig')\n",
    "city_dis.shape"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 贪心求解最优路线"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 201,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "------------------------------------------------------------------------\n",
      "城市 1 当前： Start 返航里程 0.0 剩余里程 2000\n",
      "城市 2 当前： 资阳市 返航里程 1.8379320826798053 剩余里程 1998.1620679173202\n",
      "城市 3 当前： 内江市 返航里程 75.87379871435004 剩余里程 1924.1249350593407\n",
      "城市 4 当前： 自贡市 返航里程 87.88488810893459 剩余里程 1885.3857184819767\n",
      "城市 5 当前： 宜宾市 返航里程 152.25728900095487 剩余里程 1818.1958456115606\n",
      "城市 6 当前： 泸州市 返航里程 160.78181749875623 剩余里程 1735.4300439110689\n",
      "城市 7 当前： 遂宁市 返航里程 102.2082945989286 剩余里程 1555.817261856545\n",
      "城市 8 当前： 南充市 返航里程 154.6556145178666 剩余里程 1503.1391420511404\n",
      "城市 9 当前： 广安市 返航里程 198.91836855829328 剩余里程 1438.8512846385274\n",
      "城市 10 当前： 达州市 返航里程 300.22352676753775 剩余里程 1321.0977841009228\n",
      "城市 11 当前： 巴中市 返航里程 279.972583389941 剩余里程 1225.0072585762205\n",
      "城市 12 当前： 广元市 返航里程 280.416791310984 剩余里程 1119.0068682636534\n",
      "城市 13 当前： 绵阳市 返航里程 148.4238264039253 剩余里程 969.8085482029969\n",
      "城市 14 当前： 德阳市 返航里程 112.35734120023399 剩余里程 919.5975320694538\n",
      "城市 15 当前： 成都市 返航里程 73.71141246007389 剩余里程 851.1594575071574\n",
      "城市 16 当前： 眉山市 返航里程 73.79340894823635 剩余里程 789.36914208813\n",
      "城市 17 当前： 乐山市 返航里程 104.55168059353042 剩余里程 732.6788695055839\n",
      "城市 18 当前： 雅安市 返航里程 156.90592231744094 剩余里程 645.0406618671607\n",
      "城市 19 当前： 甘孜州 返航里程 255.06846255110196 剩余里程 545.6735207709926\n",
      "城市 20 当前： 阿坝州 返航里程 300.04372681094685 剩余里程 339.770669283449\n",
      "- 当前城市 阿坝州 返航距离 300.04372681094685\n",
      "- 当前飞机里程不足，准备返航\n",
      "- 本次飞行路线 ['资阳市', '内江市', '自贡市', '宜宾市', '泸州市', '遂宁市', '南充市', '广安市', '达州市', '巴中市', '广元市', '绵阳市', '德阳市', '成都市', '眉山市', '乐山市', '雅安市', '甘孜州', '阿坝州']\n",
      "- 此路线总里程   1660.23 + 300 = 1960.27 km\n",
      "------------------------------------------------------------------------\n",
      "城市 1 当前： Start 返航里程 0.0 剩余里程 2000\n",
      "城市 2 当前： 凉山州 返航里程 337.4305914843102 剩余里程 1662.5694085156897\n",
      "城市 3 当前： 攀枝花市 返航里程 489.54220394954035 剩余里程 1502.7701733432953\n",
      "- 当前城市 攀枝花市 返航距离 489.54220394954035\n",
      "- 当前飞机里程不足，准备返航\n",
      "- 本次飞行路线 ['凉山州', '攀枝花市']\n",
      "- 此路线总里程   497.23 + 490 = 986.77 km\n",
      "------------------------------------------------------------------------\n",
      "All goods have arrived\n",
      "Total mileage: 2157.46 km\n"
     ]
    }
   ],
   "source": [
    "# Mi-26 运输直升机最大载重\n",
    "max_weight = 12000\n",
    "# Mi-26 运输直升机最大航程\n",
    "max_distance = 2000\n",
    "# Mi-26 运输直升机飞行速度\n",
    "velocity = 255\n",
    "# Mi-26 运输直升机数量\n",
    "mi26_num = 10\n",
    "\n",
    "# 标记该城市是否已经被送物资\n",
    "vis_goods = pd.DataFrame(locations['城市名称'])\n",
    "vis_goods = vis_goods.set_index('城市名称')\n",
    "vis_goods['vis'] = False\n",
    "vis_goods.at['Start', 'vis'] = True # 起点不用送\n",
    "# 初始化距离矩阵，将0填充为inf\n",
    "city_dis2 = city_dis.replace(0, np.inf)\n",
    "\n",
    "# 模拟飞机飞行\n",
    "start_loc, flag =  'Start', False\n",
    "total_mileage = 0\n",
    "routes = []\n",
    "for mi26 in range(1, mi26_num+1):    \n",
    "    now_loc = start_loc\n",
    "    now_mileage = 0\n",
    "    route = []\n",
    "    cnt = 0\n",
    "    print('---------'*8)\n",
    "    while True:\n",
    "        print('城市', cnt+1, '当前：', now_loc, '返航里程', city_dis[now_loc].loc['Start'], \n",
    "                '剩余里程', max_distance - now_mileage)\n",
    "        # 判断飞机里程是否上限，当(返航里程+50)小于(剩余里程)的时候返航\n",
    "        if city_dis[now_loc].loc['Start'] + 50 > max_distance - now_mileage or len(vis_goods['vis'].drop_duplicates()) == 1:\n",
    "            print('- 当前城市', now_loc, '返航距离', city_dis[now_loc].loc['Start'])\n",
    "            print('- 当前飞机里程不足，准备返航')\n",
    "            print('- 本次飞行路线', route)\n",
    "            print('- 此路线总里程  ', round(now_mileage, 2) ,'+', \n",
    "                round(city_dis[now_loc].loc['Start']), '=', \n",
    "                round(now_mileage + city_dis[now_loc].loc['Start'], 2), 'km')\n",
    "            total_mileage += now_mileage\n",
    "            routes.append(['Start'] + route)\n",
    "            if len(vis_goods['vis'].drop_duplicates()) == 1:\n",
    "                flag = True\n",
    "                print('---------'*8)\n",
    "                print(\"All goods have arrived\")\n",
    "                print('Total mileage:', round(total_mileage, 2), 'km')\n",
    "            break\n",
    "\n",
    "        now_city_name = now_loc\n",
    "        # 筛选出当前城市与其它城市之间的距离\n",
    "        dis = pd.DataFrame(city_dis2[now_city_name])\n",
    "        # 获取离当前城市最小距离的城市\n",
    "        while True:\n",
    "            next_city = dis[dis[now_city_name] == dis[now_city_name].min()]\n",
    "            # 判断城市是否被访问过\n",
    "            if not vis_goods.loc[next_city.index[0]][0]:\n",
    "                now_mileage += dis[now_city_name].min()\n",
    "                route.append(next_city.index[0])\n",
    "                # print('已找到目标城市  ', next_city.index[0])\n",
    "                # print('    距离当前城市', dis[now_city_name].min())\n",
    "                # print('    飞机已行驶  ', now_mileage)\n",
    "                break\n",
    "            else:\n",
    "                dis = dis.drop(next_city.index[0])\n",
    "        # 将这个城市标记为已经访问\n",
    "        vis_goods.at[next_city.index[0], 'vis'] = True\n",
    "        # mi26到下一个城市\n",
    "        now_loc = next_city.index[0]\n",
    "        cnt += 1\n",
    "    if flag:\n",
    "        break\n"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 可视化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 202,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "ax = plt.subplot()\n",
    "ax.scatter(locations.经度, locations.纬度) # 绘制城市\n",
    "# ax.plot(regression_lngs, regression_lats, color='y') # 绘制回归曲线\n",
    "# ax.scatter(104.114, 30.695, c='r') \n",
    "ax.scatter(best_location.lng, best_location.lat, c='r', marker='*', s=100) # 绘制医疗药品仓库选址\n",
    "\n",
    "# 美化表格\n",
    "ax.spines['right'].set_color('none') \n",
    "ax.spines['top'].set_color('none')\n",
    "ax.spines['left'].set_color('none') \n",
    "ax.spines['bottom'].set_color('none')\n",
    "ax.yaxis.set_tick_params(which='both', length=0)\n",
    "ax.xaxis.set_tick_params(which='both', length=0)\n",
    "ax.grid(axis='y', alpha=0.4) \n",
    "ax.grid(axis='x', alpha=0.4) \n",
    "ax.set_title('City location & Warehouses location')\n",
    "ax.set_ylabel(\"Latitude\")\n",
    "ax.set_xlabel(\"Longitude\")\n",
    "\n",
    "# 添加城市名称\n",
    "for city in range(locations.shape[0]-1):\n",
    "    loc_city = locations.loc[city].values.tolist()\n",
    "    ax.text(loc_city[1], loc_city[2], loc_city[0], ha='center', va='bottom')\n",
    "\n",
    "# 运输机飞行路线图\n",
    "for route in routes:\n",
    "    draw_lng, draw_lat = [], []\n",
    "    for r in route:\n",
    "        draw_lat.append(locations[locations['城市名称'] == r].经度.values[0])\n",
    "        draw_lng.append(locations[locations['城市名称'] == r].纬度.values[0])\n",
    "    ax.plot(draw_lat, draw_lng)\n",
    "\n",
    "ax.legend(['路线一', '路线二', '城市', '选址'])\n",
    "plt.savefig('City location and warehouses location.jpg', dpi=200, bbox_inches='tight', pad_inches=0.1)\n",
    "plt.show()"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Problem 3"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 203,
   "metadata": {},
   "outputs": [],
   "source": [
    "loss_rate = pd.read_excel('附件3：医疗物资的损耗率.xls')\n",
    "loss_rate = loss_rate.rename(columns={'医疗物资': 'time_lossRate'})\n",
    "loss_rate = loss_rate.set_index('时间/分钟').to_dict()\n",
    "loss_rate = loss_rate['time_lossRate']"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 综合考虑损耗率和距离的计算"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 204,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Mi-26 运输直升机最大载重\n",
    "max_weight = 12000\n",
    "# Mi-26 运输直升机最大航程\n",
    "max_distance = 2000\n",
    "# Mi-26 运输直升机飞行速度\n",
    "velocity = 255\n",
    "# Mi-26 运输直升机数量\n",
    "mi26_num = 10\n",
    "# 损耗率\n",
    "low_loss_rate = 0.3\n",
    "# 停靠时间\n",
    "stop_time = 5\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 205,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "------------------------------------------------------------------------\n",
      "城市 1 当前： Start 当前耗时  10 m 损耗率 0.0 %\n",
      "城市 2 当前： 资阳市 当前耗时  10 m 损耗率 0.0 %\n",
      "城市 3 当前： 内江市 当前耗时  20 m 损耗率 0.0 %\n",
      "城市 4 当前： 自贡市 当前耗时  40 m 损耗率 0.03 %\n",
      "城市 5 当前： 宜宾市 当前耗时  60 m 损耗率 0.1 %\n",
      "城市 6 当前： 泸州市 当前耗时  80 m 损耗率 0.22999999999999998 %\n",
      "城市 7 当前： 遂宁市 当前耗时  130 m 损耗率 0.98 %\n",
      "- 当前城市 遂宁市 返航距离 102.2082945989286\n",
      "- 当前药品损耗率临近最高损耗率，准备返航\n",
      "- 本次飞行路线 ['资阳市', '内江市', '自贡市', '宜宾市', '泸州市', '遂宁市']\n",
      "- 此路线总里程   444.18 + 102 = 546.39 km\n",
      "------------------------------------------------------------------------\n",
      "城市 1 当前： Start 当前耗时  10 m 损耗率 0.0 %\n",
      "城市 2 当前： 成都市 当前耗时  20 m 损耗率 0.0 %\n",
      "城市 3 当前： 眉山市 当前耗时  40 m 损耗率 0.03 %\n",
      "城市 4 当前： 乐山市 当前耗时  60 m 损耗率 0.1 %\n",
      "城市 5 当前： 雅安市 当前耗时  80 m 损耗率 0.22999999999999998 %\n",
      "城市 6 当前： 甘孜州 当前耗时  110 m 损耗率 0.59 %\n",
      "- 当前城市 甘孜州 返航距离 255.06846255110196\n",
      "- 当前药品损耗率临近最高损耗率，准备返航\n",
      "- 本次飞行路线 ['成都市', '眉山市', '乐山市', '雅安市', '甘孜州']\n",
      "- 此路线总里程   379.2 + 255 = 634.27 km\n",
      "------------------------------------------------------------------------\n",
      "城市 1 当前： Start 当前耗时  10 m 损耗率 0.0 %\n",
      "城市 2 当前： 德阳市 当前耗时  30 m 损耗率 0.01 %\n",
      "城市 3 当前： 绵阳市 当前耗时  40 m 损耗率 0.03 %\n",
      "城市 4 当前： 南充市 当前耗时  80 m 损耗率 0.22999999999999998 %\n",
      "城市 5 当前： 广安市 当前耗时  100 m 损耗率 0.44 %\n",
      "- 当前城市 广安市 返航距离 198.91836855829328\n",
      "- 当前药品损耗率临近最高损耗率，准备返航\n",
      "- 本次飞行路线 ['德阳市', '绵阳市', '南充市', '广安市']\n",
      "- 此路线总里程   376.04 + 199 = 574.96 km\n",
      "------------------------------------------------------------------------\n",
      "城市 1 当前： Start 当前耗时  10 m 损耗率 0.0 %\n",
      "城市 2 当前： 巴中市 当前耗时  70 m 损耗率 0.15 %\n",
      "城市 3 当前： 达州市 当前耗时  90 m 损耗率 0.32 %\n",
      "- 当前城市 达州市 返航距离 300.22352676753775\n",
      "- 当前药品损耗率临近最高损耗率，准备返航\n",
      "- 本次飞行路线 ['巴中市', '达州市']\n",
      "- 此路线总里程   376.06 + 300 = 676.29 km\n",
      "------------------------------------------------------------------------\n",
      "城市 1 当前： Start 当前耗时  10 m 损耗率 0.0 %\n",
      "城市 2 当前： 广元市 当前耗时  70 m 损耗率 0.15 %\n",
      "城市 3 当前： 阿坝州 当前耗时  150 m 损耗率 1.5 %\n",
      "- 当前城市 阿坝州 返航距离 300.04372681094685\n",
      "- 当前药品损耗率临近最高损耗率，准备返航\n",
      "- 本次飞行路线 ['广元市', '阿坝州']\n",
      "- 此路线总里程   627.83 + 300 = 927.88 km\n",
      "------------------------------------------------------------------------\n",
      "城市 1 当前： Start 当前耗时  10 m 损耗率 0.0 %\n",
      "城市 2 当前： 凉山州 当前耗时  80 m 损耗率 0.22999999999999998 %\n",
      "城市 3 当前： 攀枝花市 当前耗时  120 m 损耗率 0.77 %\n",
      "- 当前城市 攀枝花市 返航距离 489.54220394954035\n",
      "- 当前药品损耗率临近最高损耗率，准备返航\n",
      "- 本次飞行路线 ['凉山州', '攀枝花市']\n",
      "- 此路线总里程   497.23 + 490 = 986.77 km\n",
      "------------------------------------------------------------------------\n",
      "All goods have arrived\n",
      "Total mileage: 2700.54 km\n"
     ]
    }
   ],
   "source": [
    "# 标记该城市是否已经被送物资\n",
    "vis_goods = pd.DataFrame(locations['城市名称'])\n",
    "vis_goods = vis_goods.set_index('城市名称')\n",
    "vis_goods['vis'] = False\n",
    "vis_goods.at['Start', 'vis'] = True # 起点不用送\n",
    "# 初始化距离矩阵，将0填充为inf\n",
    "city_dis2 = city_dis.replace(0, np.inf)\n",
    "\n",
    "# 模拟飞机飞行\n",
    "start_loc, flag =  'Start', False\n",
    "total_mileage = 0\n",
    "routes = []\n",
    "for mi26 in range(1, mi26_num+1):    \n",
    "    now_loc = start_loc\n",
    "    now_mileage = 0\n",
    "    route = []\n",
    "    cnt = 0\n",
    "    print('---------'*8)\n",
    "    while True:\n",
    "        print('城市', cnt+1, '当前：', now_loc, end=' ')\n",
    "        route_time = int(60*now_mileage/velocity/10 + cnt/10*stop_time)*10\n",
    "        if route_time < 10:\n",
    "            route_time = 10\n",
    "        print('当前耗时 ', route_time, 'm', '损耗率', loss_rate[route_time]*100, '%')\n",
    "        # 判断飞机里程是否上限，当(返航里程+50)小于(剩余里程)的时候返航\n",
    "        if loss_rate[route_time]*100>=low_loss_rate or city_dis[now_loc].loc['Start'] + 50 > max_distance - now_mileage or len(vis_goods['vis'].drop_duplicates()) == 1:\n",
    "            print('- 当前城市', now_loc, '返航距离', city_dis[now_loc].loc['Start'])\n",
    "            print('- 当前药品损耗率临近最高损耗率，准备返航')\n",
    "            print('- 本次飞行路线', route)\n",
    "            print('- 此路线总里程  ', round(now_mileage, 2) ,'+', \n",
    "                round(city_dis[now_loc].loc['Start']), '=', \n",
    "                round(now_mileage + city_dis[now_loc].loc['Start'], 2), 'km')\n",
    "            total_mileage += now_mileage\n",
    "            routes.append(['Start'] + route)\n",
    "            if len(vis_goods['vis'].drop_duplicates()) == 1:\n",
    "                flag = True\n",
    "                print('---------'*8)\n",
    "                print(\"All goods have arrived\")\n",
    "                print('Total mileage:', round(total_mileage, 2), 'km')\n",
    "            break\n",
    "\n",
    "        now_city_name = now_loc\n",
    "        # 筛选出当前城市与其它城市之间的距离\n",
    "        dis = pd.DataFrame(city_dis2[now_city_name])\n",
    "        # 获取离当前城市最小距离的城市\n",
    "        while True:\n",
    "            next_city = dis[dis[now_city_name] == dis[now_city_name].min()]\n",
    "            # 判断城市是否被访问过\n",
    "            if not vis_goods.loc[next_city.index[0]][0]:\n",
    "                now_mileage += dis[now_city_name].min()\n",
    "                route.append(next_city.index[0])\n",
    "                break\n",
    "            else:\n",
    "                dis = dis.drop(next_city.index[0])\n",
    "        # 将这个城市标记为已经访问\n",
    "        vis_goods.at[next_city.index[0], 'vis'] = True\n",
    "        # mi26到下一个城市\n",
    "        now_loc = next_city.index[0]\n",
    "        cnt += 1\n",
    "    if flag:\n",
    "        break\n"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 可视化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 206,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXYAAAEPCAYAAABWc+9sAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAACJyklEQVR4nOydZ3hURReA38mm94TQQguhtyC9Q+i9SG8fIqIUERAFaSqIIk1EAZHee5UmoUZBeu+dQEggvffszvfjbpaEBAiQCvd9nn2y9+7cKTe75545c+YcIaVERUVFReXdwSi7O6CioqKikrGogl1FRUXlHUMV7CoqKirvGKpgV1FRUXnHUAW7ioqKyjuGKtjfY4QQttndB5WXI4QQaZwzzo6+qOQeVMH+DiCEsEvjXHshhNsrLt0phPjyNdq58dyx6yvK+yR7L4QQZmmUOSuEKPMafagghDj+gs8qCyGKvOTa74UQfdPZjrkQolZ6+/WSekyFEGn+zoQQc4UQnV5RRW0hxIHnzv0jhKiaRn35hBAl9S9X/bmaQog1L+lfKyFE+WTHXYUQjV7U52TljIQQ7q/o+/PXrEzHd1IlA1Cf/LkcIYQFcEcIUV1K+SjZRw0BHXD5BdeNBPyBzkKIf6SU519QbgAwAEgECgshPAFrYCiwSQjRVEp57wXdi9OXBxD6/jR+rkwsEKdv60egKxCo/6wAMFtK+Yf+cxMgHkjQa60CyK8fay+gDTAG+EVffilQSt8uQBHAUggxUH+sAQKllB/qyw8HmgGugBlwQwjRVUoZ/4J78xfgAEQDHwDdgK3A7WTFTIFPhBCBwBYg6rn+tBBCDNYfGwOWQA8ppbf+XCXgv2Rt2gNOwIU0ujQFyIvyf20HFAb6AfWFEMf0ZTyklFP0dRnp79X/ktVRD/ACmgkhwqWUM9Mau76fG4QQHaSUp9MqIIToDAxPdqoI0EgI4ZXs3GIp5doXtKHyhqiCPffTEVgLPNZrXqeAW0kfCiHOAqWBLlLKA/pzXVEEYRMUIbFLCDFUSnns+cqllMuAZUl1SSndhRDWwH6gX3KhLoRoCXyb7PICgG+yY40Q4l8UAZwXqK1vv5MQYi+QAMwHdunL90F5oCCEsAEOocwyS6EIu8NAW31ZT6CIlDJ5ez8B0VLKp0KI0sASoDlgJKWMEUJUALTJyu8G9gFjgVVSSk/9TOMeEKEvYwuUk1LGoTyQBkgp7wohzqM8pPZLKdOcFQghGgJF9XUMBmahPMRmowjlC0CclDJGX34XUAOI0Wv2P+qvtUd5mAMUkFJa65tIBGZIKU/qZ0KOKA+bUlLKcCHEeuCfZF3qC2wDYvUP6EMoD55YYBrQRQhRU0p5Wv8QME56yEkpI4UQowCb58ZoDOiklDoU4b9MSrlKCNEHsJRSLk5WtiPgmNa9Unk7VMGei9H/iD4FugAbgBPAOSml+3PlDur/aoBRKFpxWyllFBCl16w267Xr6XpBKACT57VVvda8FZgvpfxXf6yTUmpRBM5hKeV3+rI7UISkP1AIRUNeqRcKjiiarlb/NwE4BjQA+idr8iKAlDJCCLEI5WHxP2AlsEVKOU4IMQlFQNoKIfJKKS/pr60HfKUf3xxgPPAZigY7EdiEIixv6sf7SEqZKISIT3Z/AbRSyg/05x7r+wrKQ6ac/kFnArxqG7c1sF1K+YEQ4h9glb6O48ANYBJwBPhLX74EUFZKGaqfzdgAHwENpZS39P1JPlsSz73/GTgITBdCTEd5CPyrv64UMATlIbsEuCyEyAPURflfdQeCUYTzaZQHzBohhFZ/zgHw0deVfIwaoDNwBSgJ1BVC9AfcgGtCiC76Mhb6+3j0FfdM5Q1QBXvuZiTKVH0XilD9GDgvhDjFM+FjDExAmV6fRTET3ALWCSGSTAICReOVKJpgHSASxdSSwDOBZYOiuZ4FhgghhqCYGr5C+YFqATshxA8o0+7aKFqwN3AV5aHSCkBvNnokhBiNov37AZtJ/Z2sDHyof/9I30Ys8BBlBrAfKAaEoJgeTgCX9G2sFkLcRnlYOKOYHQKAHkBZ4DMpZZKZowCwXQiRCFRBeShEo2jTSfcJfb1Jx3tQTDedgRX6c631sySAPMAmKeU3+mMtkKi3TdcB3IF7KA+qj1E07uQziBTtAo2U5uWtF5R5CMzWz0ROATP19f+CMhPpl6xsK6Agyv/ND+Uh9xHKd+OolPJ7vZZeTQiRR0p5CmWmhBCimf7edeclSCknCSGcUL5bU/V98EeZlS2VUu5/2fUqb4GUUn3l0heKOcMJRZjV0p8zQ/nBWutf+VA0LA3QMtl1Sdc66d/nSfosjXYKAj8Ad1A03mb6V5PnynVHESb9gGrAXqCR/jOBYjKqpj/WoGiBd4HrKML3sf6z8ii2cyfgkv5cTRTt/SIQBpwBBus/mwQM1L/PB1jo39ugCObaKLOAhSgC/jSK4D4KVHpuDPlRTCz/A0roz91M9vnjZO8L69vw1B9XB9Yk+7w/8GOyY1uUWUnS6/Zzx8eS7pe+/FXAXv/+R5R1jfooQjGpzK1k7zuiPFCThHA7YAbwJzAQWISixVcBNPprNqI85Cz1dS9A0bYPAidRBH7p5+5RR/3/4OZzr93PlTNH+W5VRTE1+QD39f+7qUBTwCy7f0fv4kvV2HMxUsoAIcRQFIHgK4SojiI8I1A0XyOUxUYLYIGUcp7eBNEprfqEEL9LKVfp3xdC+QE309d3FEU7D0GZHUBK7RL950HJ6lgOTNabNCTKrOGqvmw/4HOUH387KeXNZFP6ySia/h79dUhlge4D/YJoKIqGW0AIMQNoATjpF4SDgWFCiGv6Pv+BIuS+QtHAVwAPUGYBo1EE3ohkY/gBZbZSDvhGCFEzrXulxxNFmFcRQlwAPNIoYxiUlDIcRXgmLVzeAAZJKa+9pI2jevNHAWCslPKYEGKWEKKllPL59vqhCE4nFKF+GsXGHqTvJyhmFy9ACiHGogjbOKAC0BPlIVsL6AB8gmLaS74YDMo6wSypX4TVj6c+yv8tOa4oDwYvfb/+RHlgnEYR6p+hzMhmv2T8Km+AKthzMULxQ5+NosWWQJlKl0MR6H1RbJw/yJR2cmcULXLHc3VNQjEdJBGPYvIYIBUb72aUB8Q3ycrsBrYnO3YAgvQLlf4ompknytT+kBCiLc9cbNdKKZfrvTVi9edMk9WT5PVhkqyPlVEWfB8DfwPT9fXbAmellEuSlTUGGkspQ/SnVuvt1E9RNHedlFIrhDgnhDCWim29GYqg2YpiHrJGsUG/iET964JUFpWrA/uFEBeTlVmZrE//ofzmEgAXFIG68DkbtYuUsnCy4wbymY09iV+Afno7fWSy81L/8pZS/qpvM0RKWV3/fhIQJqUMEUIURHmg3ULRpudJKYfpyw1Fsb9/grLI/jzN9H1ITgHgyXPnvkRZPDdGmRW0RpnF3EMxIRkDLVEFe4ajCvZcjFQ8HeyklHFJi5jAMBQvmCQ77+9CiOtSyt/1x8/bbVNUmazuAPTeMHqGAJFSylgAIcQYUi8WVkXRynaheHw0RbHvbxeK33UloDfQR6btQjhCCFFY338tijY/St9ePmA9ymLsEP04n0oprybXqoUQRaTiKtgWGCuEiEtWf3GUB1ZXfVlQTELz9Rr3EhTtf5S+/EgppU4IsTSZ3TzfC+4dKA+mvfIFXjEoAr0Linb8E4qdOw7FfHVSSrlGCHHzJfUnsR3YiTJzCk/jcwchxGSUmcnz/++kGdAToKAQwgrFVbM0cFI/k3iIIpSroqxJGBBCNEFZ03h+0TM/ygP3WUNSfqq/xhllofgiitdNIWCYlPJuOsaq8gaogj0Xo/ds+EoIUQ7lB/sTihbWEEU7kiiC8D8hxGMp5TYU08AsvUkmOc4o9tg0kVIGCiGshbIByB7FlPF1sr7kQfFRP4Jib70ANJNS3tML3tYoNts6es32AoowcOSZSccLxZwxBkXYTEbRaA+jCMO5wDl9fw4m654OZdHWCPhLCDFKSvkXz7xLkvr4I8rDYF4a99Ic6C2lvJ2kQctni6SBybTex/rZgC3Kg+drlAXGqyiug+lhOMr/5ncU09FDoKMQYhMpPVtMSGmKSXIlTdJ2W6GsUaBfMK2Asq5xAUUT34Xyv05yYy2Kfsaln52sRJnBHAMOCSEq6ft0G2X9oDaKmclbSrlMCFES5WHfTUr9woniEeSI8n3Y8Nw9LYmioddCWeivAVih2NcXCyG89df8K6VMPvNQeVuy28ivvt78hbJw1w2w1h+PRXFXa40iLNrozxcFbPTvFwGd0qhrEjD6Fe3VQvnRHwImAiLZZx1QptQVUBY/nVGm4edRhLE3yoKl0Jc3QrG1LkYRYB4os4wmyep0QNHSuyU7VxE48Vy/6qIsIJ9FMaNoXtD/6cCX6bivK9AvNOuPSyR7b6v/21Xft15AsWT3x0ffj6TXdeBT/ecnUVwO02qzEIrNfWeycwPRLy6imIhK698XRHmIjEnWn+IoNmv75+q9+tz/+CP9e2PAOdlnHfXfmQ/1xy4oD+hwFDNfHpT1kcbP1T9Hf93ypL7ozxdBebB0SHZuMDAq2XEzlAeFc1r3RH29+SvpR6ai8tYIIYzkMy33da+1kVJGvLrku8vb3L+X1GkppYxOZ1lTmcxEJoQwRRHWgWl9rpJzUQW7ioqKyjuGGgRMRUVF5R1DFewqKioq7xiqYFdRUVF5x8gpgl1mx8vPzy9b2lXH9H6PKSeN59KlS/LYsWMZMiZPT89sH8+7+n96yStN3ms/dq32+R3xuR91TDmfnDQea2trRowYgaenZ4rzT548oUePHpiamqY4Hx8fj4eHBxYWFinOa7Vali1bRmhoKJ06dcrkXmcNOen/9LrkFK+YbOmEr68vzs7O2dF0pqGOKeeT3eNZtGgRq1atwthY0etiYmIMgjo2Npbx48fToUOHV9azYMECli1bhqWlJQkJCSQmJmJiYoKJiQlSSqKjoxkyZAgDBgzI1PFkFtn9f0onqVInwnuusauovI+EhoYyZMgQ+vTp88IyUsrn46yn+mzIkCEMGTIEUITgpk2bsLe3p3///pnRbZXXQBXsKirvGRqN5pVmhurVq2NiYsKDBw8oUKAAkZGRGBkZkSdPHgoVKsTWrVsBWL16NQsXLiQ+Pp7AwECMjY1ZskSJxfb111+/M2aZ3IYq2FVU3jO0Wu0LtfEkzp07B0DHjh2ZPXs2Bw4cwNzcPJU2HhAQwMCBA2nRokUKjX3OnDmEhIRk1hBUXkFO8YpRUVHJIoKCgrCzs0tXWR8fH/Lle3FASyOjF4uQVz08VDIPVbCrqLxnnD59mrJly76y3JUrV7C3t+fQ3XBmetzi682XqDftMFtOexnK6HSpQ9uEh4cbzDIq2YMq2FVU3iNOnTpFWFgYpUuXfmk5X19f+vTpQ4uPRjJu2xVCoxPRRofjExrDoC+/YeSU3wCwtbXFwcEBICliI0uWLOHatWs0b948cwej8kLUR6qKynuElJJff/3VcJwQryUmPJ7o8Hiiw+KJjojn0QNvPvumBx93/JKYs5b0TdAR5VCdlf/N4cmt/9BYO3A8QUmsNHDgQEB5ECQkJBAfH8+oUaMYNWpUmu2rZA2qYFdRecfQJuqIiUgmrMOTv6yIDjdhzaETRIfHkxCbhneMgO96r8DWwZJzfuEU0hlhb1+Eyt1+5rqpUj4gjeC9Y8aMyeSRqaQXVbCrqOQCdDpJTES8IrBTCet4osPjiA5PIDo8jrioxDTrMLM0xtLWFAsbU/IWtcHS1jTZy0z5a2eKhbUJRhrFSntw3GFcQuCEWYJBqAM421uk2YZKzkAV7Coq2YSUkrioxGSCOS2BrbxiI+JJa5O4sakRlnZmWNma4lDAkkKl7VMLbDtTLGxMMDbRvFb/7p33p0oI3DbTcsz82cPCwkTD6JZl3nb4KpmIKthVVDIQKSUJsdo0tOlnx2GBUSTGPiA6PB6dNrW0NjIWBqFs42hOfhfb54S1XrO2McXUPHN+wn4Pwjmw/DoFXG1xbpyfs4fu4Bsag7O9BaNblqFTlUKZ0q5KxqAKdhWVdJAY/7ywjic6LI7oiATlb/gzM0liQmoXQGEksLAxwdLWFDNLDQVcbJ6ZP54T1maWxtnqAx4eFMOeBZexsjOlzRA3LGxM+bBGkWzrj8rrowp2lfeWFIuMz3mGKHZsvcAOjyc+rUVGwNzaxCCY7fLaJbNXmxjMIJa2pphbmSCMFGGdk4NLxcUksmf+ZbQJOjp9WQULG9NXX6SS41AFu8o7hU4niY1MSGn+SGOxMSY8ntiohDTrMLUwNgjrvEVsDNp00sKjlZ2iaZvbmKDRvDtbQXRaHfsXXyX0aTTthlfGsaBVdndJ5Q1RBbtKjkdKSWxUwjMtOplnSJIPdlR6Fhn12rRDAUsKlbJPIayT3lvamr72IuO7gJSSfzfe4dH1YBr/ryxFyjpmd5dU3gJVsKtkC1JKEuK0aWjTcSkEdnR4PFFhcUjdrVR1GGmEQRjbOJqTv5gNlnbP7NYWyezXmbXI+K5w6ZA31/71oWrLopSvlzPNRCrp5738tvv4+FCjRg3s7e2pU6cOt27dwtzc3PD5zZs3GT9+PB9++CFfffUV69atY+bMmezZs8dQxtramt27dxuOZ8yYgZubG61atTKc02q1NGjQgOPHj2fNwHIAaS4yhifXruMM5pE0FxkFKTRox4JWaI3iyV8oTyphnd2LjO8K9y8G8N/Wu5SompfaHUtkd3eyDU9PT9zd3bO7GxlCpgh2IYQjUA24IKUMzIw23gZTU1NatGhB0aJFadCgQaqYFu3atWPo0KEEBgYaUoPdv3+fLVu2EBkZSZEiRejevXuKa4QQmJmZAdC4cWOOHDmCRqNJlUIsN6LV6ogJf85uncx+/WyXY9yLFxmtTAzCuoCrnUFAWxmEtd5ubW2CkVFKYZ2TFxtzO/4Pwzmw7Br5itnSrH95wwLvu8QPP/yAs7OzIfzBi3iXUvtluGAXQjgAu4E9wGwhRDvgT0ADRAE9pJRpbEjOOpK0vPPnzzN27Fi+//57jhw5QkxMDJs2bQKUYEkjR47kwYMHdOjQgSJFFHevAQMGsHv37lSaohDCcM7KyipVWzmNZ4uMaWyOSSGs07fI6FTYGovyjqn9rW3NsLB9txYZ3xUigmPZ88dlLKxNaTvUDWPT3LG20LlzZ3x9fTE3N8fLywt7e3vs7e3x9/dn6NChDBs2LEV5MzOzVLlbIWVqPyEE0dHRzJw5kzlz5iClJCwsjOHDh+fK1H6ZobG7AaOklCf1Qr4TMFtKeUAIsQBoBezMhHZfGz8/P4yNjQkICGDVqlXMmjXL8FmNGjXYsWMH33zzDUuWLGHkyJEAWFhYYGlpmaKedu3a4e7uzu7duwkPDwfgu+++Y/To0Vk2FlDs1vExWoKfRD0T2GHPbUOPeCa401xkNDEyaNb2+SxxLmmfwvyR/JVbBIFKauJjFbfGxDgtHUZ/gKVt7nFrNDU1ZcOGDbi4uDBp0iTc3d1xd3dnw4YNhuQe5cqVo1AhZRPVo0ePMDU1ZdWqVcTGxmJtbc2+fftSpPYDmDNnTorUfrl5ppjhgl1K+Q+AEKIhUBP4QUoZrv84L+Cf0W2+Kf369WPevHkpkgUkadhGRkZoNIrgMjY2NoQkNTExSVGHVqslNjYWKSU1a9Zk8+bNgJJabNGiRW/dR8Mi43Oue4qwfk7TjohHl5jGTsZki4zW9mbkK2qTwvxhaWeKpd6ubWKmybGzDJWMQafVsX/JNYKfRNFumBt5Cllnd5cyjKTvromJCQcPHgRg1qxZFChQgL59++Ll5ZVCo09K7QeKIE+e2m/AgAG5UluHzLOxC6AHEAIk6M/VARyklCefL+/n5/fKHIwZSXBwMNHR0dStW5dhw4ZRpkwZunfvzuPHj+nTpw+xsbH4+voSHBxMUFAQK1euJCwsjEePHhEfH4+vry9RUVH4+vri5eVF6dKluXfvHtWqVaNu3bps3bqVKlWq4OPjQ1xcHL6+vqn6oE3QERuVSFykVv83kdhILXFRicRGKueT3msT0lCtBZhZaTC3MsbM2hjHomYUtLJCZxSPQz5bzK00mFkbY25tjIm50UuEdSKQSLQ2mujgDL3NGUZwcA7t2BuS3eO59PdTHl4N5YO2+TG2T/v7+bpk5ZhiYmLo3Lkz5ubm6HQ6PDw8EEIQGBjIxx9/jK+vL1qt1jCu8PBwzMzM8PX1xc/Pz/D7Brh79y5dunShR48eLF68GFtbW8N7Hx+fDLk3mcmLZhSZItilot5+LoSYAnQQQhwA5gJd0iqfP3/+zOjGCzE1NUVKydChQ+nevTteXl5s2bKFM2fO4Orqirm5Ob6+vkyYMAFra2tuBiVyvUALmo/5EzsLVwaPmcR3332Hs7Mzzs7O1K1blzZt2lC3bj1qVqnHti1/oQ21oJFbR5YvWsu9o5GpFh3jY9KOwGduZaLXps3JUzClNp3cbp3WIiPk7unjy3jXxpRd47l02Jv7Z0L5oFkR6rUvlaF1Z9WYLCws2LZtGy4uLinOHzp0iNDQUJydnRFC0K9fP+CZKeavv/4iNjYWW1tbQ18dHBywt7fH2dkZOzu7FO+llLn2e5cZi6ffAE+klKsAeyAU2AyMk1I+zOj23gQpJVZWVixevBg3NzfD+aJFixIbG4tGo6FcuXKsXLmSk0+0jFl/itCT2zDyf0iZNmMJvnuc/v/7nGkj52OUaM69+3cJ9kpk6cj/AHhyN5Q98y8DEB4Qw80TT7C0M8PCxoQ8hawpUj4tYa1slNEYq4uMKpmD1+VA/tt8h+KVnajTuWR2dyfDadq0KbGxsYDi4VKzZk0A+n/5Lcd9E7lXvD4FrDS0KP1sbehlqf2yWuHMSDJDY18EbBJCDASuAq5AVWCCEGICsEBKuTET2k03cXFxADg5OaU4HxgYSIMGDRg+fDhWVlZYWVkxc8Vhgq54UszMkQGNP0bECijclOPRiZw9dZ4qFWux/vBchn08lnJlXbC0M+Nfv5J0GVMNMysNay6Z8umcRtkwShWVZwQ8isBj6TWcitjQfECFNGd7uQUhBKGhoWl+9sMPP1C8eHE+/fRTAHZc8GHvZV90FvZYA0+itCy8Ci6lfehUpdBLU/t169YtK4aTKQiZlmtE1pMtnUiP2aL42D1IwEYnsNUJooUkykiSADyY3haA6OjoVJ4y2cW7aIp518aU1eOJDIljy7QzCCNB17HVsbIzy/A2snJMa9as4dtvv6VYsWIpzmu1Wp4+fcrRo0cpUKAAAPWnHiRi/U9UiwvFokob9hWrhdZIQyF7C/4b2yTF9TNmzMDe3p7PPvssy8f0FqT5hH4vd56+Ds72FviExhBhJIkwevb8KZQsg0xOEeoqKs8TH5vInj8uER+rpfPoapki1LOavn370rt3b+LjU26HSb5JUOp0ROw/wMTtP1MswY8wc0vsLm2j072jLC/fhhOyYqp636XUfqpgfwWjW5Zh3LYrxCQ889pRM8io5AZ0OsmBZdcJehxJm6FuOBV+d9wajYyMUoQBSUJKSeThwwTMnUfczZuY2BVgao2+HHN2o+bTGwy4vodvT6/kbj5Xos8XwrJqlWzofeajCvZXkJQpZqbHLTWDjEqu4viWu3hdDqRhz9K4VHJ69QW5GCklUf/+S8Dvc4m9dg3TYsVwnjmDW86VObvjOjJBy6mCFTiTvyxtfc7x2b2DPOzdG5vmzck76kvMihfP7iFkKKpgTwedqhRSBfl7SmBgYKpF9tclO4JLXfF8zKXD3rg1KUwl98JZ2nZWIqUk6r/jBMz9ndhLlzEpXJiCU6di16E9wtiYTgBGGoNiVtDRmqa9PqNCmW8IWrGC4CVLiTh8GIce3XH6/HOM8+TJ5hFlDKpgV1HR8+DBAyZOnMjatWsBiIyMpE2bNpw4ccKwCzlfvnyUL1+eS5cusXfvXr799tsUdSxfvtwQVyiJrA4u9fBqEEc33sbFzYl6XTPWVz0nEXXyFAFz5xJz7hzGBQtS4IfJ2H/4IeK53eEvUszyDh2KQ/fuBP7xByEbNxG24y/yfDoQx48+wiiXr5upTtMqKnqWLFnC0KFDCQ8P55tvvqFBgwZYWlrStGlT8uXLBygxhA4cOEC9evUwNjamevXqHDx4kIMHD+Li4kJiYiILFiygRo0aNGrUCHd3d27evMnMmTNxd3enUaNGtGnThmXLlmXKGAIfR+Kx+Cp5ClvTfED5XO3W+CKiz53j4Uf9edS/Pwne3uT/7ltKeOzDoXv3VEL9VRg7OVHgu+9w3bULq3r1CPjtd+61bEXI5s3ILNwNn9GoGruKCnD79m2CgoKwtbWlbdu2NGzYkHr16hl2NyYFlxJCcOrUKWrVqpVmmAYhRLYFl4oKi2PP/EuYWhjTdmjldy65SMylSwT8Ppeo//5D4+RE/vHjsO/RAyOzt/f0MXMtTuG5vxN9/jz+M2by9NvvMCpWjIix32Dt7p7r4ie9W/95FZU3ZOPGjZw+fZoNGzZw8OBBtm3bhpubm2Fn8vbt2w1ljxw5QrVq1V5aX1YHl0qI07Jn/mVioxPp/HVVrB1yv1tjEjFXrxE4dy6R//yDxsGBfKNH49C7F0aZkOvAsmpViq1fR8SBAzyZMYPHQ4ZiWaMG+caMxqJSpQxvL7NQBbuKCvDtt9/StGlTduzYQfXq1bGwsODOnTt8++23dOvWLYWPc5cuXZg0aRJjxoxhw4YNnD17FoAbN24wceJEAAICAhg4cCD9+/dPobHPmTOHsLCwDO274tZ4jUDvCNoMcSNvEZsMrT+7iL15k4C584g8dAiNnR15R43CsU9vjKwyN8m2EALbFi2IKFsWi2PHCJw3H69u3bFt05q8I0diWrRoprafEaiCXUUFePjwIX379qVbt24sX76ctWvXEh8fz507d4iIiCAwMJCEBCXhSPny5dFqtQQHB9OzZ0+mTZsGkCJDT/JQ0JnNie33eHApkPrdSuHilvvdGuPu3CFg3nwiPDwwsrHBafgXOPbrh8Y6a/3whbExjr17Y9ehA8HLlhG0fAXhBw7i0KsnTkOGYKwPRZATUQW7igqQJ08exo4dS5UqVShbtixbt25l9+7dDBs2jIkTJ7Jjxw6MjZWfy5IlS7h58yanH4Wz5uRDNo7dg7O9BZZBUYb6siq41LWjPlw88IhKjQrh1iR3uzXG3X9A4Pz5hO/di5GlJU5Dh+D40Udo7OyytV8aa2vyDh+OfY+eBM6bR8iatYRt206ezz7Dsd//MEpjo1R2owp2FRXA39+fmJgYfvvtN6pXr07yGEqRkZE8fPiQ0qVLo9PpaNiwIRal6zJhxQGenj+E8f2rPAESQ3z4+9LnDHFxyZLgUo+uB/HP+tsUrZCH+t1L5boFviTiHz0icP4fhO3ahTAzI8/AgTgO+DjHacQm+fNRcMoPOH7UD/9fZhMwezYh69aRd/hw7Dp2QCul4eEPEBoaSlBQECVKvF2C8DfZB6G6O6qoAImJiTg5ObFw4UJGjhxJjx49MDY2Ji4ujrCwMBwcHGjSpAlxcXGULl2a+cefIB0eU7CvK0VHNML54xHkaTWC5WcDAMUs07FjRwASEhKIj49n1KhRbN++nbx58751f4N8IvFYdBXHgla0/LQCRrkwp2yCjw++Eydyr3Ubwvftw/Gjjyh58AD5vhqV44R6csxKlqTIgj8oumolxnnz8mT8eB507kLfNm04fPiwodzNmzf5+eefU10/Y8YM9u3bl+KcVqulbt26aba3bNkyduzY8Vp9VDV2FRWgdOnSlC5d2nCclKRh9erVANSrVw9Qkjl4hXkRYjMf24J30CXYI4yPYub0D+bO+QkNj8A3shbO1s/cGTM6uFR0eDx75l/G2ExD28/dcp1bY8LTpwT++SehW7chAIfevcnz6UBM9HsFcgtWNWvismkjEfv24T/7Vwbev8eEPn04fPAgFhUqoNFosEvDjJQ8WFnjxo05cuQIGo0GC72Xz6uSbEdHRzNkyJCXelblrm+EikoaJA+bHBQUhL+/P+XKlXurOtOa/sYmxrLkyhKWXV2GsaWG2KftSQipjdDEYGx7BRPbi5jl86DlVg+q5KtC2+JtaeHSAgfzjNM+E+K17PnjMjGR8Xz4VVVsHHOeffdFJPj7E7RoMaEbNyIB+65dcBo0CBN9iN3ciBAC29atsW7aFMcNG1g+bz7j3N25aG1NtL09oVFR3Lx5k7i4OBYsWECpUorJLMlsZpXMwyfp3Kv2QaQHVbCr5GoePHhAr169mD59OgEBAVy+fJm7d+/Sr18/tFottWrVonz58m8dBuDfx/8y9dRUfCJ9aOvalgpmvZl635cEtEitNQkhdTCOrM+odnlJtDjPnvt7+PHUj0w7PY26herSpngbGhdpjKXJm29VlzrJoeXX8X8YTutBlchXzPaN68pKEoOCCFq8hJD165GJidh3/hCnwYMxKfTuxF/6a88efl2yBPemTRjv1IPgVatY4+dHvgYN+HzRIsMCcLt27XB3d2f37t2Eh4cD8N133zF69OgU9b1sH8TXX3/9yvAUqmBXybUkJiby6aefMnv2bADMzMzw8/OjRIkSJCYmEhcXh5SSGjVqsGPHDj788ENDGIDkLopJYQDSmv7O+GUGD8MfEhIRQuk2pVk6YSk1Cyop12xM8rwg6mc1BlYayO2Q2+y5v4e9D/by7+N/sTC2oEnRJtS2rU3bAm0xMXq97e8n/7rHvQsB1O1SEtcP3t5On9kkhoQQvGwZwWvWIuPisOvYEachg3OFH/jr8uGHH1KuXDmmTZtGvp9/xqF3L/6tW5dG//zDvOrV6TtuPLY9exAbG4uUkpo1a7J582YAqlevzqJFi1LU97J9EEm7oF+GKthVci3nzp2jefPm/PHHH7i5ubFhwwaePHlCnjx52Lt3LzY2NnTp0uWNwgD8MvsXrkVf42rxqxSiED+4/UC/8v0w0TwTxi+L+imEoIxjGco4lmFktZGc8zvH3gd72e+1nz3xe5h9YzYtXFrQzrUdlfNWfqVHy/Vjvpz3eESFBs580KzIS8tmN9qwMIJWrCBk5Sp0MTHYtmuH09Ah71xo3Jex68QJitarx+cjRtC4ZSvyTp5E/sWLqFCwIE+fPqV169bodDrWrFlD27ZtDUI+iZftg0iP95Mq2FVyLbVq1cLf35+bN29SrFgxRo0axdatW2nXrh12dnaGKI3wemEAIuMjufPoDokkkidvHgpbFybPN3kwqfR6GnYSRsKIGgVqUKNADcbVHMeuK7s4EXaCHXd3sPHWRgpZF6JN8Ta0Kd6Gkg6pk0x73wzmn3W3KFLekQY9S+dYt0ZtRATBq1YRvGIluogIbFq1Iu+wzzEr+e4lzn4RWq2Wv//+mx9//JGDBw/i6OjIlqP/0qZZM7bnycPg6zcYcvw4TSvWZ65fPi7c9KfhzH8Y3bIBsMRQz8v2QaQnjHTu85FSUdFz/vx5Bg8eTKNGjShbtix3796lcuXKeHt7c/XqVZo0eZbTskuXLqxYsQKADRs20KxZM5o1a8bff/9tKOPl64VdQzu0n2sp0roIo8aMwveKL7179E7X9Dc9mGpMqZOvDrMazeKfHv/wU/2fcLF1YenVpXy480O67uzKsqvLeBr1FIDgJ1HsW3gV+wKWtPy0Ipoc6Naoi4oidu1a7jZrTuDceVjVrkXxv3ZQeM6v741Qj42NZdy4cZw7dw4PDw82b96Mo6MjABUqVGDvwYNU2bmT6JEjsNJJik8fz6C9v2OREINPaAzjtl0hICLOUN/L9kE0b978lf1RNXaVXEtQUBCjRo0CYPPmzZw5cwaTZGFb4+PjqV69OvDyMABanZZ1N9ax9OpSpIVkdLfRxATGkNfxmR07M7RkKxMrOpToQIcSHQiMCcTDy4O99/fy67lf+fXcr9Syr0e1410wNTaj7edumFnkrJ+rLiaGkHXrCFqyFG1ICNbu7jh9MQyLChWyu2tZzokTJ2jevDnbtm1j0aJFDBgwgPDwcBITExFCEBkZyciRI/Hw8MC/548s9rlNz9uHaBT2mEcxoQTobPB5GmyoL3l4iuT7IJK+769CJN9hl41kSydySRby1+J9G9OWLVuIjIykbNmyGBkZER0dzV9//cWvv/7K/v37adGiBe3ataNTp078+uuv9PpyMn+u2YpJ7b4421ug+28Wjh0Fj0weYXXciq6Vu/L10K8NC1adO3dmxowZlC1blr59+2b6eAC8w73ZfWcvQZutsA53Ym/FPyhTthhti7elUZFGWBhnfFTD10EXG0voxo0ELl6CNjAQq/r1oVdPijZtmq39ymgy4rek0+lITEzEyMgIY2NjoqOjqfDDESRgHR9NNf9b/FNYybsqgAfT2r5uE2lqHDlLBVBReU10Oh1SSsaPH8+AAQOQUlKvXj0OHjzIqlWrCA4OTjsMwIPL+JkEkxAYSEX3qszqMotH8Y8MCTWen/5+8cUXWTamwtaFcb1QD12oPxV62ZNo2ZC/H/yNp7cnlsaWNC3alLaubalVsBbGRln3E9bFxxO6eTNBCxeR6O+PZe3a5P39NyyrVsXX1zfL+pGbMDIywtTU1HBsaWmJs70FPqExRJpaGoQ6gLN9xj2wVcGukquJi4szTFMLFChAjx49KFKkCE+fPuXAgQPY29uzePFiSpcuzcfbDpNgak3eTm1xbHQDoTEm9L+qGIf9j5YuLeHTZ/W+yfQ3ozi16z53z/pT58MSVG1UDHeq8mW1Lznrd5a9D/ZywOsAu+7vwtHckVYurWjj2gY3J7dMW1SV8fGEbt9B4J9/kvjkCRbVquE8cyZWtWpmSnvvOqNblmHctivEJDzL0GRhomF0yzIZ1kammGKEEI5ANeCClDIwHZeoppgMQh3Tiyk+dg8SsCi6CI35Y6IfDkEXV/BNp8BvzMvGc+P4Ew6vukG5egVp3LdsmsI6ThvHscfH2PNgD/94/0O8Lp7C1oVp49qGtq5tcbVzzZB+ysREwv7aSeAff5Dg44NF5crkHTEcyzp1UvVL/d69Hjsu+LxgD8RrkzWmGCGEA7Ab2APMFkI0QfG+2SKlbJDR7amopJekKXBiZDmMre4jdSaG8zkBn1sheK69SeGyDjTqXeaFGriZxoymxZrStFhTIuIjOPjwIHsf7GXJlSUsuryIco7laOvallYurchv9fohgqVWS/iePQTMn0/Cw0eYV6xIge+/w6pBgxzrapnbeNkeiIwgM0wxbsAoKeVJvZBvAnwMZG7aExWVV5A0BY4NrwT592BiexlNePMMnQK/KSFPo/h74RXs8lrQ6rP0uzXamNrwYakP+bDUhwREB7DPax977u9h1tlZ/HL2F2oUqEFb17Y0K9YMW9OXhyCQOh0R+/YRMG8+8ffvY1a2LIX/mI9148aqQM9lZJpXjBCiIfAj0A5luvCXlNL9BcVVU0wGoY7p5SRNgUPsZmNiksDkassyVXNKi+fHExMZz5bp50iITaTrN9WxdXr7GYRXmBd7H+xlz/09PIp4hImRCQ0LN6RN8TY0LNwQc+NnwcOkTkfEwYMEzp1H3J07mJUqidOwL7Bp3gyRzkxQ6vcu28g6rxihPN57ACFAgpQyRn3iq+QEkqbAa288Ydrpabi5xr36okxEm6Dj7z+vEBUSR6dRVTJEqAO42Lkw9IOhDKk8hGtB19hzfw/7vPZx6NEhrE2saVq0KW2Kt6bCzViC5s0n7sYNTIsXx/mXWdi2bv1CgX7hwgUCAgJo0aLFC9tOTExESpliT0FavEkCCZX0kSmCXSrTgM+FEFOADsDGl5X38/NDq9W+rEimEBwc/OpCuQx1TOnDzcwNgWDL5S30LZEx/unpJWk8UkrObn/Ck7vh1OjijM48Cl/fqFdc/fo44sj/Cv+P3oV6cyn4EoefHOLpwb0EeW7F9ylE5LVCO+IjirTtTZSxMVFPnxquvXr1KocOHcLCwgIhBBcuXCAhIYETJ04Airtpo0aNDG6iAN9//z0VK1Z8ZaaoefPmcf/+fVq1apXhY84IcsNv6UUzisxYPP0GeCKlXAXYA6GvuiYjc0C+LrlgqvXaqGNKR304U/V2VY4HHWdMg4xNhJGu9p2dOb3rPo+vhlOroyvVm7tkeptSShwfelNx2VNiLsaQmN8Rz/8VZGnhe8SxlmLnjhli1rjYKf0xMTEhb968mJmZYWRkxO3bt+ncuTMV9LtLtVotjo6OtGnTxhBb3N/fnz179hgCWyUkJHDq1Kk0I2guXbqUVatWpTuBRFaTW39LGW5j1y+YbgLMgKvA51JKKYTwVG3smY86pvSz/uZ6pp6ayvYO29MMvpVZ+Pr6EuFtxMHl1ylbuwBNPiqX6YuTUadPE/j7XKLPnsW4QAGcBg/GvvOHCFNTwuLCOPToEHvu7+HM0zNIJBXyVKCta1uqmFdh2IBhhnquXbtGqVKlDJtujI2NOXDgAI8ePaJYsWKMHDkSJycnJk6cyJ49ewwmm7TMMm+SQCIrySW/payxsUspQ4BUUWpeItRVVDKM17HbNi/WnGmnp+Hx0CNLBXvgw2j+W+tNodL2uL/AVz2jiD5/gYC5vxN94iTGefOSf+JE7Lt3wyjZbkg7Mzs6l+pM51KdeRr1FA8vD/bc38OMMzPQhmkJCQnhjy1/cGnjJXbt2kV0dDRr165l1KhRhlDIsbGxjB07FgsLC8aOHUtMTAwXLlxg9erVrFu3ztDW2yaQUEkf6s5TlRzBiBEj+Oijj/jtt9/47bffsLe3B5Qt/eHh4Xz00UccOnQIX19fAgOVPW9ffPFFKjPe85mPXoaThRPV81dn34N9DK08NEtc+kL9ojm56TG2eSxoNagSGuPMidYYc/kyAXPnEXX0KJo8ecg/biz2PXpgZP7yVHoFrArwUYWP+KjCR9wPvc/my5uZnjidsbvGEnUtilPTTqG7pcO9hjuPHz82aOJHjx5l+vTpBkFtYmKCo6Mj1tbWTJ06lYkTJwJvn0BCJX2ogl0lRxAbGwtA//79WblyJcOHD6dr167cunWL+Ph41q9fz+TJk9mzZw+rV6+mc+fOTJ48+a0T/7Z0acmUk1O4HXKbMo6Z688eG5XA7vmXEAjaDXPD3OrN4ru/tI3r1wmYO4/II0fQ2NuTb/TXOPTqhZHl66fkc7V3ZZDbIP7O+zeDKw9m/ZP1nPz3JHHaOO7cvMM9j3tExEeg1Wlxd3fH29ubzn0/QTT6nAdXThMrYpj0zRfUK2JmqPNtE0iopA9VsKtkC/379+fevXuGBbd79+5x8eJF7O3tiYuLo0uXLvz6669s376d69evExQURKVKlTAzMyMmJgY3Nzc0Gs1bJ/5tVqwZU09NxcPLI1MFuzZRcWuMCI6lXt8i2OV989ynaeF/7jzxK5YTceAgD0xNqTlyJA59+6KxfrYvMDg4GI1Gg50+/+aLSMuctW/1PiIeRZAnKA8xiTHIeMlu391EhEbQYksL6uetT15NQ67c8SJ/bQ0AIdEJfLvrJj93rkSngko9b5tAQiV9qIJdJVswMjJi8eLFlC1bFoD58+dTuHBhKlasyKVLl4iOjuaff/7h8ePHXLt2jf79+3P48GEAduzYkcKP+m3sto7mjtQsUBMPLw++qPJFpmiNUkqOrLmJ751Qmg8oj3Xh1MLtTfjkk0/4Y/x4AubN45sVK2iXvwCFOndm+xNf2gwelKr8unXruHv3LnPmzHlpvcnNWfHx8QCGJCVJ93XgwIHEJMZQvXZ1yjuVZ6f3Tny2LcDKzQJTp0NE308EKYlJ0DJi3CQsvuxKy5YtX5pAIisjaL7rqIJdJVsQQtCnTx+klFStWpV27dpx//59Tp8+TcmSJSldujR3795l7NixuLq6smbNGqZMmQJAr169+Oijj2jbti1mZmZvbbdt6dKSSScmcSP4BuXzlM/wsZ7724tbJ59Ss31xStcskCEhbuO9vAg7eZLDLVow+slTLPLnY76DPX6bN2FtbU29evXo2LEjW7ZsMXiwJCQkEBERQf369QFlI9EPP/zAvXv3XmjOiomJ4fr16yxbtowBAwZQvHhxg9Y9fvR4yhcvz5hSYzg57iQxsfkoNNAFE9sD2FaK4dE8X6JvbSUxJI4yZScAb55A4tKlSyn6nhaPHj2iaDoSZb8PG6NUwa6SLcTExLBt2zb8/PzYtm0blStX5o8//iA+Pp4ffvgBT09PpkyZwsSJE2nQoAFHjx41bBgpUKAAnTt3ZvPmzfTt2/et7bZNizblx5M/4uHlkeGC/faZp5za+YDStfJTvY3LW9cX7+1N4B8LCNu5ky+FEa6DBnGib192//MPP/74I9u3b6dcuXI8ffqU8PBw9u7di6enZ5p1TZo0idDQ0NcyZzVNlkxj9uzZhvv76y+/8s2xeHx8YojzC8XY5jolvr+OxvI+QugYcGoA7r7uNC7SmFoFa2GqMWXMmPTvH7C2tmbEiBEvHAvAxIkT6dy58ysXzl9ngT23ogp2lWzh0aNH5MmTh9u3b+Po6IiLiwuXLl1i9erVALi7u/P999+zdu1aoqOjOXD8PH5O0Ty86Y/b0HmYX9vJ158r2t/b2m3tze2p5VwLDy8PRlYdmWHmmCf3wji88iYFS9rRpO/b+aon+PgQ+OdCQrdvR2g0bHMtzh4/P35p0IA5X35J3bp1KVeuHPPmzSNv3rwUL16cfv36sW3bthfWOXToUMzMlIXNNzFnJR+Pq6sro62kPs64PQkhdUkIqYuFWRw9G0URZnSB3fd3s/n2ZqxMrKhfqD5NijShfuH6LwxOtmjRIlatWoWxsSKmYmJiDJp2bGws48ePx8PDg1u3bgHK//znn39m3rx5SCmpXbs2P/3001svsOdGVMGukuWEh4cTHh7OsWPHGDNmDJMnT2bgwIE0aNCAXbt24e/vT3h4OMWLF+fMmTNcuHqTO95PsWtUAaQkMM4I46LNMC1VD3h54t/02m1bFmvJd8e/41rQNSo6VXzrMYYFRLN3wWWsHcxoM9gNjcmbuTUm+PkRtHAhIZu3IACHHj3I89lnfJPHEd3PPxMTE0OXLl34888/GT58OF988QW1atViypQp+Pj40K9fP4NLYnBwMH5+fpQrVw5QTDFTp06lZs2aGeKGmBRMLWWc8Q/05/9HnDaOU09OcfjRYY54H8HDywNjYUyNAjVoUrQJ7kXcKWBVwFBf0myiT58+L2xzwYIFbNiwARMTE6ZOncr06dMBuHv3rsHF8m0X2HMjqmBXyXIWLFhAv379qFevHgsXLuTzzz/nq6++ok+fPvTp04cRI0awdu1aw6YXz6iCPN27jyLSlzu6OEzzFgMUAdKpSqG3TvwL0KRoE344+QP7Hux7a8EeG5XA7nmXkVLSblhlzK1f360xMSCAwMWLCd2wEanTYd+lC06DB2FSsKChjBACIyMjYmNj+f7775k8eTKVKlWidOnS/O9//2PJkiUcOnTIUN7T05MtW7Ywb968VO1llBviy+KMm2nMaFi4IQ0LN+Rb3bdcCbzCYe/DHHl0hJ9O/cRPp36iQp4KNCnahMZFGmNkZPTKGFIbN27ExsaG2bNnU6RIEcP5YsWK8csvvxiO37eNUapgV8lykgSuiYkJtWvXZs+ePRTUC6y1a9dy+/ZtSpcubchnuv2XvdRzc2G76ffEVDJlmXYTixPb4Buauu7Xsdsmx87MjrrOdfF46MFX1b96Y7OJNlHHvkVXCA+MoePID7DP/3pujYnBwQQtWUrIunXIhATsPuyE0+AhmBZOW1jqdDpOnTrFmjVrWLNmDZMmTaJ///7cvn2bmJgYg6kF4NidALaee8yesXtSZe3JajdEjZGGD/J9wAf5PmBUtVHcD7uvaPKPjjD3wlzmXphLwuUEqpSoQgW/CnyQ9wM0RpoUdVy8eJExY8ZgbGzMf//9R4MGDdi3bx/37t3DwsKCPHny8P3331O/fv33bmOUKthVspzkcUOEEAahnkTp0qWBZ1qko6UxX0YuJwA7TuvK8oXxDvpp9rPBpBPENQIz6wzpVyuXVvz7+F8uBVzig3wfvPb1Ukr+WXcLn1uhNO1fDudSDum+NjEkhODlKwheswYZG4td+/Y4DR2CabFiL7zG19eXw4cP0717dxo2bMgff/xBZGQkrq6uhnuYxI4LPiz69wFR8YmYAT6hMYzbdgVQtOzsdkN0tXPFtZIrAysNxD/aH09vT6buncqp0FP039cfR3NHGhVuROMijanjXAdzY3M++OAD9u/fz6JFi6hevTo//PADOp2OBg0asGXLlhTfq/dtY1Tm7GdWUclARjidxc3oAT8l9OWLhOG0jvuZc5RjUOI6+K0ynJgPCTFv3Y57EXdMjEzw8PJ4o+vPezzkxvEnVG/jQtnaBV99AaANDyfg97nca9acoMWLsXF3x3X3LpynT3upUF+3bh1SSooVK8acOXNo2rQpq1ev5u7du1SpUoVixYrxxx9/GMpPXLAJ/39WY2T+bKEyJkHLTA9l4XHgwIF07NgRSGnO2r59e5ZHX81nmY/uZbrj4O/A1k+2MrPRTGoVrMWBhwcYfmQ4DTc2ZOSRkey8t5PQ2FBcXFwICQmheoOmOFWox1WtM11X3mDHBR9DnS+bkSQtzr5LvHsjUnm3iArC7cFiApxqci6iCSIslnC7soS3XA1OvnDkR/AYD8fnQcOvocr/wNj01fWmgY2pDfUL1Wf/w/2MrjEaI5F+vefuOX9O7rhPqRr5qdm++CvLayMjCV61iuDlK9BFRGDTsiVOnw/F/DlN+0X06tWL3r17A/Dpp58qdWq1JCYmYmJikkpDjbAqTJ7WIzC2TymkfUNTPxDf1JyVkZw6dYqwsDCqVKwCKLOpBG0CZ/zOGBZfDz06hEZoqGhdkQg7M274+GFauCoJT+9wYek4Rt7pDcO65ogZSVajCnaVnM2hSYj4KPJ2/53/8pV77sNC0O8veHAUDk+BPaPgv9/AfSy49YDnbLLpoaVLS454H+Gi/0Wq5q+armue3g/j4IrrFHC1o0m/l0dr1EVFEbtuPfc2b0YbFoZ106bkHfY55uWeH9vLSasNjUaDRpP2mAvnz4NPaGp7f05J5P08Ukp+/fXXFOdMNCbUda5LXee6TKg1gasBV+nWoRse0R4YVzSm2NcOoHlKfGBHom6b4f/vOqYVLZFhC+y5iUzLefqaqPHYM4h3akzeZ2BpMyLdBmDd+deXl5US7h5UBPyTS+BUGhqPh3IdIZ15OwGiEqJotLERnUt1Znyt8a8sHx4Yw5bpZzEx09D1m+pY2KQ9W9DFxBCyfgNBS5agDQ7GqlFD8g77AotKb+9amR52XPBh9JZLJGif/dQsTDRKHJcMyPma3d87129XorG5jrHNdRKC65EYUQlQgpU/mNb2jerM7jGlkzS1CNXGrpIz0Wlh71dgU5CIqkNfXV4IKNUcPvsHuq8CYQSb+8OihnBrnyL404GViRUNCjXgwMMDaHUvd7WLi05g9/zL6LSKW+Opc8dTDyMujuBVq7nbogX+M2ZgXrYsVvPmUnThwiwT6qAskLaq8MxHvJC9RYYJ9ZxAQasiJAQ3JObhYINQh5w7I8lsVMGukjM5t1zRvFv+hDS1enX5JISA8h1hyHH4cBHERcD6HrC0Bdz/B4BVq1YZwgR7eHik8utuWbwlRwcepWb9mjg4OHDixAmaNWuW4uXl9ZB9i64S5hdNq88q4lDAimXLlrFjxw4AZHw8IevXc69FS/ymTsWsuCvF1qym6LKlGJfP+Hg06cHWwgR7SxO8prXlv7FN3hmhDjC6ZRksTFKaoSxMNIxumbmhmHMq76SNXafTER8fj/krkgqoZC9JZsBU9uKoQDj0AxRvCBU6c3zrVrp27fp6lRtpoHIPqNgZLqyBf2fCqg5QvCH5jJrRu3dvZs2axYQJEzA1NWX16tXodDrs7OzY+fdOrF2t6TCjA2emncHY2Jjq1aszbdo0QImqeHzbHXZu3821QE82XLN7tlV9xgxmTZhAvI8PMXFx/M+tMp+vWIFV7VoZccveCu+QGIo4ZGy44JxC2rtey7xTD6/X4Z0Q7J9++ikDBw6kVi3lx3P37l0mTJjA5s2biYiI4PLly4ZFpRIlSrB48WIqVapEtWrVUtU1Y8YM3NzcUmRO12q1NGjQgOPHU0+1VZ6xfPlyfvzxR8MOwIsXL/LBBx8ASrb7CxcupNgdOG/ePMzNzQ1eHQYOfg/xUdB6JgjBhg0bMDY2frPdgRoTqP4xVO6lzAKO/kKrqH+RJd0Ivn2SrVu3smTJEry9vRk/fjw6nQ5LE0vyWORh+6HtfFjzw1QPnmDfKO7G+jPiqy+o02kOADIxkWmfDcLo1Ck6aHWYt2hJ3uHDsapXN8f4ST8OiaZMfpvs7kam8bJdr+8b74RgNzMzS+ENYGpqajgODw/n6NGjAMycOZOdO3dy8OBBPv30UxISEtDpdOh0OoMvqxDCsFuvcePGHDlyBI1Gg4XF+2mrex2srKwYMmQIX3/9NaAE8kqKxtepU6dU/sImJiapkxx7n2HBomUsu+uA5aFBCCEICwt7+6BNJuZQewgxZbsydmBnCkRewe3xQDZGFqdg9fa0+vRTvv/+e5ydnenbty95LfPy4NIDbDqnFIT3LwTg5xVOsQZ5qN3BlVUrV7Jg+nQSnjzBLyoKY1MzdhR3QePrw9eBAXTKIUJdp5M8DomhWbms9UlXyR5ytWCfOnUqR44c4fbt25w/fx5bW2XzRUxMDLdv36Z58+bUrVuXyZMnM2TIEObMmUPZsmW5c+cO3bp148GDB9jb2zN27Fh69eoFKII9ScNKyu6TdD47OXjwICVLluTx48dpxqTOCbGopZTs2LEDLy8vACpWrMiwYUqG+8KFC2NmZsYXX3zB3Llz07x+/Lix/FjkGEOauDBk22kwU4Tq5MmTKVasWIYEbTKzzUPLAeOYMW0qq27cJo+4i/HlWezctArsi/Lxxx9TpkwZHMwdiKodxdKli2n4cB4bEhM5fuwkAQ8j8Av3pm4XVyL2e3Bz+nTah4TQs2EjNhVyJn+NGnz88cc5bqt6YGQc8Yk6ijioCsr7QK5ePB0/fjwHDhygffv2/P777+zbt499+/axcuVKGjVqxIEDB5g8eTIAhw8fplatWixdupShQ4fi6elJw4YN2bJli0Got2vXDoDdu3ezc+dOAL777jsiIiKydFz+/v7Ur18fd3d3GjZsyOrVq5kwYQIODg589913JCYmprpm4sSJhoW7l5F8gS+jSUhIoGvXrty5c4ebN2+meCUkJODo6MiRI0deeP2eLWsx8r8CLX9i9aYd1K9fn/r167Ns2TKmTp1qOH6b/hsZGVG9enUKOBfmxkN/Js9bz/Qv++LZU4u7ySVMzizEMiEEjdDQunZr/CL88H/4gM4Vq/Bx3R8Z128urWtV48mwz/EZ+SVGCBx696b49m2Yly6dQgHIbmUgOd4h0QAUfkdt7CopydUae3IGDRqEjY2i4cXGxuLi4gLA9evX2bBhA35+fqxevRorKyv27dvH0KFDuXHjBiVKlAAUO3psbCxSSmrWrMnmzZsBqF69OosWLcrSseTLl4+ff/6ZKlWqMGzYMIQQREZGMmXKFMqXL8/o0aMZPHgwv//+e6pY1KamppiammZLLOqIiAisrKzw8/Njy5YtKT5Leni+cPt2ZAAiyg+Kt4IKHxKw/1dD0KbkGntGaMLJH4wz5i5k8uTJnInpgbPfbCwfHoTfq0CALfd3OBH5JJp7LnbceKijWJEYqj9ZS9zpE8jKlXGeOROHWzexcHJCJPOVz4k5PL2DlR2mRRxVjf194J0R7AsXLqR69eoAeHl5MXbsWEAR8o0bN2bnzp18//33GBsb4+TkxDfffEP+/PkNW6+9vLyoWrUqfn5+tG7dGp1Ox5o1a2jbtq1ByGclc+bMYcOGDURERDB79myqV6/Oxx9/zMaNG5kwYQLGxsbcv38/VSxqX19foqOjsyUWdUBAALVq1SIiIoINGzak+OxFOyINHJwEUgdtlAXTzAzaZGtry6BBg+jbty8tWrSgaNGijB37B7duhTOgUnuqR15HF3yFCbH+PPyqOF6Hm3DKczNPvXuxOjGWR9pEfu7aFbv27bDze5ortqo/1mvshexVjf194J0R7C+iatWU28J3XPBh6ZPCnF4xkkb9vmLHBR86VSlEiRIlmDFjBm3atKFMmTJUrFiRNWvWoNFo6NmzpyF2c1YQExPDf//9x4cffsi1a9dYv3493bt3x8fHh8ePH3PmzBn+/vvvHBeL+ty5c/Tr14+oqKgXpjBLvtP5oncoh24Hs+vWr2w1W0OcqSPkVfyOMyuMbHR0NAMHDqRChQpMnjzZMGNbtWoVT58+ZeM336CZfYU4Einmb0rfEDf8eMDIEpX54uEZ7GKi2CuMcLRUBGRu2aruHRyDk7UZFqavH2ZBJffxTgh2nU6XyhRT7LnIeFqtlr8u+jJu42l89s7DvHhVzu5ayfBIU3Rf9aNztSKGNG1JnhrZFW7BwsKCixcvMnjwYOrXr0+JEiVo0qQJY8eOZcOGDUyaNOmFsahv3bqFjY1NlseiDg0NxcvLCxcXF1xcXDh48GCKz5NcUR8+fIi7uzuBkXHcfuANgP2ZUOqSyO2n8YYHbWYFbbK0tEw1m0iiQIECjFi5koRRXzJq4CesFPkhMYIC9gWZW74lRmeL0evi3/zWeSLtPvkk1fU5IXjWi3gcGq2aYd4jMkWwCyEcgWrABSllYGa0kRydTsfixYsN2rmXlxdfffWV4fP27dvj4ODAxLmrebhrHvXqVKNY5dqIcH+2bJrPH1ZRdJ45hC+HD2PWzJnK9vNkccK1Wi3R0dGZPYwUBAcHU6ZMGfz8/BBCsG/fPq5fv46/vz+HDh3i0KFDacairlWrFjt37szyWNT//vuvwbxz69YtmjVrluLzuLg4QHkAANSbdhjn0Bj6ag7wo8lyhsZ/ydnFq5ix93qqoE2JiYlZpgnfO3eKw8sXEe5akLJePrhfuo4mUfK0qQVLan7I8uodyGv/GjthcwjewTFULmKf3d1QySIyXLALIRyA3cAeYLYQogkwDSgP7JFS/pjRbf75558pjl1cXNi6davheNeuXcr5MTtp8Mk4Dlp9CxwFJ1g8WKIxmg9z5rO5msRya0PYpgFTK5aUs4Lfq6IxteT4QFtY3RlMLcHUGkws0/neSnklvU9nxMFp06YxZcoUvv/+ewBatWqVQmNPPtYrV65QvUFT7gdGk6dAMbquvMHolroszY7ToUMHw3tfX99X+v0nhYv9n+YA53Sl2KurhfMntXkSEZ+q7NChQzM9GFOYvx9HVi7i3tlT5ClclIrlG1JvxyRME7UYScnkg39Swe8u37YYSnR8IqcfBFOzuGOm9imj0OokvqExtHNLX4x4ldxPZmjsbsAoKeVJvZBvAmiklHWEEMuEEKWklHcyod1XUsjRGu/QIjSPm4ElsVS0jeVpRByFrCQ/tC6OZXyUsuMxIVr5+/z72FAI94H4aEjQn0uMfb1OGJunLfAN7y05fD0IhwgvHK6vQgTeQndhPYf27ebRzQv4B4fz74E9jBs5mObNmlG7UikOnivFjd3HMC1SiQj/2/hkcyzq9Gzmcra3gNBHlDF6zJSEPiQFqcvqoE2JCQmc272dk9s2goAGvftTrW1HNL16I+NjueZciglNBzH5wJ/0uuRB4WL5+b5+f3otPsnYVmUZ2KB4jnJrTIun4bEk6qTq6vgekW7BLoSoCBQCHgHeUsrItMpJKf/Rl28I1AQcgU36j/cD9YEUgt3Pz++VSWszgtEN8rHmZAzxWmckEG4tCTPV0L52MXwLvKH2pdMiEmMRiVGIhBhEYgwiIQajxGhEQrT++Nlfo6T3yc/HRiMiAjHSn2+ki6JOhRg6Dz9LPzdT4vZepWmBOFa0StA3Gozu6pe0GBuNVkL70sY87G6GpYUvj0xKsMjHlY2eq9lcvig189eiTZs2gKJJBwUFkZCQQN++fenZsydarRZfX98Mub+vw+gG+fD/dyfEga9NZdyMdJhqjOhbO1+q/gQHB2dKH57evsHZreuI8PejsFsVqnbqjpVDHvz8A8DYGGb/gmO3biwwMoKp3Xm6eTOlzpxhUdeS/HTwIT/tvcF/t3wZ36wY1mbpX5TMrPG8iIuPlX0YljI60/7XWT2mrCA3jOlFM9l0xWMXQswFnIHiwLfAICllh5eUF8A8oDAQCPwupbwkhGgBVJVSTnvukixbpdxxwccQKKhREWM61a2Yc+NLJMZDfKR+1hCd8n3SjCE+mmk7z2EpYrElmpYmFyko/YmVJhzSVaVtnxFQshkYm726vSzm6YIOaP1vUj9mNs72li8M2pTRcbEjg4PwXL2UW8f/xS5/AZp+PJjiVaq/Vh1SSpYcfcC0fTcp6mjJgr5VKVvA9tUXkvVxvrece8zXmy9x5Gt3ijtlzvpALold/lrkkjGlOV1Mr8ZeSUrpLoQ4LKXcI4R46fK/VJ4WnwshpgBdgcX6j6zJ5t2uyQMF5fh/nLEpGDuiTHpezK4jh/HR26y32WjRhN6no+Y/OhqfhA29wdxeCWXr1h2K1n2txBOZRkIMBYJOQ41+PGjTLkua1Gm1XPTYzX+b1qBNTKRO117U6NgVE9PXf+gJIfi0oSuVi9gzbN15Os3/j6kfVqJz1cKZ0PO3wzs4GiHA2V6Ndvq+kF7BHiCE+A5wEEJ8BDx9UUEhxDfAEynlKsAeZeG0PnASqAzceqseq6RidMsyjNt2hZgELQjBBVmKm6IsDu1n0tH2DlzeBFe2wPmVYFsYKnWBSt2hQNYlekiF1zFIjIHSLbKkOd/bNzi45A8CHj7ApXJVmgwYjEOBt3+o1yzuyO7h9fli3QVGbbrE2YchfNeuPOYmOcdf/HFIDAVszTEzzjl9Uslc0ivY+wGfAScAO+Djl5RdBGwSQgwErgI7gH+FEM5Aa6D2G/dWJU2Sx6IWRFFIH4u6Y5VCgIuSWSg+Cm79rQj5E/OV3KD5ykOlbsrLvshL28hwbnsoi8XFUgc0y0iiw8M4um4lV4/sx9oxD+1HjaNUzYwNpZvPxpy1A2sxa/9t/vznHlceh/FHn6o425m9esdtOnmb4G3eIdEUVoN/vVe81MauXwBNEynlv+luRPGOaQ78K6VMS9tXc55mEOkaU1QgXNsOVzaD9ynlXNG64NYNyncCy8xx4zMk1gD4zQ3yVYDeqTcLPS/E3uT/JHU6rhw5wNF1K4iPiaZqm47U6doLU/PMFXD7rz3lq82XMBKC+rGnqFrSmU+e28w0bdo0unfvjouLC1JKg/BP2i+RtNEuOf369aNz585vtEu47s+HqO2ah9k9PniTIaWL9/a3lP28kY29sf5vIyABOAd8ANgADdLbspQyhGeeMSrZjZUT1PxUeYV4KQL+8mbY/SXsHaNo+JW6QZnWYPJyQRgZGUlwcDAhISH4+/tz8+ZNzp07x/Tp08mfP2Xsb0NijU4NIfQR1P8yzTqXLVtGaGjoG4c68Htwj0NL/+DJnVsUKluBZp8MwamoyxvV9brMHPk/rKJjue0XyaJgP/LYWrNq9WoEYGNjw65duyhfvjzdu3dn0KBBLFy4kPj4eJ48eYKrqytGRkacOHEiw4K3xSfqeBoeq2rs7xnp9Yo5JKVsmuz4sJSySQb2Q9XYM4g3HpOU8PSyYqq5uhUinoCpDZRrr2jyLg1Bk1IP8PT0pE+fPlSuXBl7e3vs7OyoUqUKxYsXp3r16gbf+ST+/PNPzM3N6V8qHA58CyOvgn2RNIVYUhIOKSVhYWEMHz78lUIsLjqK/zat4eK+PVjY2tKo7wDKNWicpX7mlSpV4sqVK8QmaGnY9RMe2ZSnmXsjfuv5AQ1rVeXUqVOEhobi7Oxs2BF88eJF5syZw4oVK15Y75sGb3sYFEWjmZ7M6OpG9+qZZ25Tf0vZxlt5xeiEEMOBS0A2rripZBpCQMHKyqv5D8ri5pVNcH0nXFoHVvmgYhdFyDtXBSF4+vQpQ4cOZcKECZw5c4bffvuNzz77LEW1aSbWuLMf8lVg/IwF/Pjjj6+MQPmqH5iUkpv//cM/q5cSFRZK5eZtqN/jf5hbW2fY7UkvSWYVcxMN5iH36Va9Kh5ewbSbe4xEaYSHhwfffvstv/32G82bN39pXRkRvO1xiD5cr7o56b0ivYK9G8riaQ+UDUqvmVlYJVdhpAHXRsqrzS9wx0PR5M8uhVMLIE9JqNSNK6cfUammsgxjYmKSItZ6fHw8JiYmqRNrJETDkxNQ9wv2LNzO1KlTgZcLsQEDBrxQWw967M2hZQvwvnaZAiVK0WnMdxQoUSqj78hrs3fvXiwtLfE+d5iObuGc0tTDKyiK8AJV2bRpE3nz5n1lHRkRvM07OCnBhmqKeZ9Ir2DvgOLi6IdiNmkHrMqsTqnkIEzMFR/48h0hJkTR4K9sBs9pHN8eyeG/1vLnjO+IxJLHvk8Ni56JiYmGJNQp8L8JukQo1QIhdhhOv0yIhYWFpepWQmwsJ7dt4OzuHZiYm9Fs4FAqNW2JUTpj8WQmhw8f5ssvv+TQoUMUKFCAvn370rmeI9fMjJm86zqNXa25sOB/eB45gr29/QvryYjgbd4h0WiMBAXtVB/294n0Cvakb5EF0AplN6kq2N83LByg2kfKK8yHI823cunv5Ty+f4tCtsbMuebAjO97EVmgDq7l3NKuw+8qONtD4ZopTr9MiCVHSsndsyc5smIREYEBVGjUjIZ9+mNpZ/92Y8tA8uTJw8aNGylcWNmstHr1anQ6HSuWLmJQq7J8N+M3LOxKs+FiEKtPnufBrWskXnliCFmcREYEb3scEkNBO3OMNTlgU5pKlpGu/7aUcqX+9aeUshOQOgSfyvuFXSECy/Tmo90Sp/8thyp9IC6cJxu/ol2jqlya1Qlu7UNKRTjtuODDzH03iHh4kQPxFdlx2S9FdS8TYklaf6jfU3bM+IGds37CzMKSHpOm0WroyEwR6omJiVy6dCnNz6SUacY20ul0SCmpXLkyH3zwgeG8iYkJJ06cQKfT0a2iHfLsJiw+aM/wHs05O+czAvfMJvj2WXq1b4pLqXIsWLAA4KXB215ln0/COzhata+/h6RLY3/Onz0vUCFzuqOSWwgPD6dVq1b89ttv1GrUiIsXy8CJGCqPH8yasnPpPGUTp/0P8fB2FLXLOvMgxpKoiHDmG4URefEKwUtbIwPvG+p7mRDr/GEnTmxdz+ntmxEaDY36DqBK6w5oXpQ/NQPw9vbmyy+/5PDhw6k+O3/+PF9//TUajQYfHx+MjIwoWLAgOp2OgICAVOUfPXpEhw4dqFatGkZGRnz/7QTWRhQk7uO5qcoWsrdgyBDF4SwjsjM9DomhUelX2/NV3i3S+8tonOx9PDA0E/qikouwtbVlw4YNlCxZkm3btvHnn39So0YNKFqbqiNrc7LHDPKEXyG05iZir+7CnABipClm2FA9bjrG2OK/YhiJiYkYGxu/UIh1burO/sXziAjwp3Tt+rj3G4hNnsxLEr1//36mTp1KREQE/v7+KTZKjRo1yiCgkxaFDS6cz7khPu/CWbp0aeLj4+ncuTNxcXFc8ArCpkprrN1ShlRIilP/PG+SnSk2QYt/RBxFHFWN/X0jXYJdSjk5+bEQInP3gavkCkqWLAlAnTp1KF26NOXLlzd8lrdgIShYCMq0ovrZLTQ3OktHzXF8pSPBKFEQ8/efl3pxFUWIRQQHsuvXadw+eQxrp3x0Gf8DLpWrpiqb0YSEhNCzZ08GDx6c4vyaNWsIDAzk+PHjrFixwrAmcP36dTQaDSdPngQUE0737t1f6MLZqF03fv37Ck+uBaXZfkbGoze4Oqop8d470muKOSClTG7U+5nX2Hmq8m5TsGDBFKn4nsfO3pHtoQ3Yrkv5lUlLiGkTE7mwbxfHN69DarXU7d6HwtXrUuS5HLaZhUaj4bfffmPLli0pzj99+pSvv/6asmXLMnTo0DQfSKCEBUi6F8ldOB96PyYiXhL77UwEUKN9P/wc3YhLfLa2YGGiYXTLMhk2lschSa6Oqsb+vvFSwS6EcAOqAIWEEP30p62A10wbpPI+kyL6pJ60hNjjm9c4tOQPAr0fUrxKdZp8PBj7/AWyPBHIiBEj0tTYExMTcXR0xMbGhrx586ZYIAVlB2lAQIAhGbq/vz+NO/TkkVNNrq9dgpW1DWMHf0rwsXWUK5kPhw/cDLkBnPWB2zIyN4C3ujnpveVVGrtI428Q0D3TeqTyzpE8+mRaQiw6LJR/167g2j8HscmTlw5fT6Bk9drZlnLuZRo7KF4uVatW5fDhw+zZswdjY2NatmyJu7s7xsbGSCk5dMOfVScf4RNtRLHaZWhSNi9NKrsytHVZJp/WIIRIkRsgM3gcEo2pxoh8NjkvyYpK5vJSwS6lvARcEkKU0cdXV1F5I9ISYjqdliuHPDi6fiUJsbHU7NiV2p17YmKevZtpXqaxg+K1I6VkxwUfBv/wJ0Zlm1D8ggmhEXFsO+fNoqNe3PKLQETH82GVEvz+TRMW/nENS1MN4eHhBAcHU6JEiUwfx+PgGAo5WGBklLNzsqpkPOldPB2f2R1Reb/wu3+Xg0vm8/TeHYqUr0TTT4aQp3DR7O4W8GqNXafTUblJJ0bMWU/oEy9sCjzl8vp9mOQpz6jNlyid35bZ3SsT4OpDgfz5sTDVpHDhvH37NuPHZ/5PSo3D/v6SeY7AKippEBsVybENq7l0YC+Wtna0+eJrytZrlG1ml+eJjY19ocYeFRWFl5cX69evZ+XqbcQbmZO34zdorBwwts1L6NE1yMD7bD++G2trK6j6LCBachfOnj17pgppnBk8DomhgrNdprejkvN41eLpbCnlKCHEEZ6F1hUoaU0zMmyvyjuOlJIbR4/wz5plxISHU6VlO+r16IuZZeYkV35T+vbt+9Lz4eHhuLq6YtPqS4wsnwlNs0LlyN/zJ+K8rypC/TnexA/9bYiKSyQ4Kl51dXxPeZWNfZT+b+OXlVNReRmB3g85tHQBj29cpWDJMnQeN5n8xTPfxpwZ2Nra0qNHD35/8CyBeHJcK9XIhl6lJsmHXXV1fD9RTTEqmUZ8bAwntqzn/N6/MLWwpPlnw6jUuAUinQG/cjKjW5Zh9OZLJOie5YjJaD/0tyEpXG8R1cb+XvJGgl0IUV9KeSyjO6PybiCl5M7p4xxZuZjIoEAqNm5Bg94fYWn77th7O1UpxCyPW/hFxJKglYYE4pnpvvg6eKubk95r1J2nKhlKyFNfDi9fiNfFc+QtVpx2I76hUJly2d2tDOeqTxiPQ2P4oWMF+tVxye7upOJxSAwWJhqcrE2zuysq2YC681QlQ0iMj+f0X5s5/dcWNMbGNP7oUz5o2Q4jTfYnvsgMNp7xxszYiI6Vc4aG/jzewYqrY07xNlLJWtSdpypvzYMLZzm8fCGhfk8oU7ch7v/7BGvHPNndrUwjJl7Ljos+tK5YADtLk+zuTpo8Dol5qQ+7p6dnisiVKu8W6s5TlTcmPDAAz5WLuXP6OA7Ohek68UeKVfogu7uV6fx99QkRsYn0qJH5G6q2bNlCsWLFlJDIwKFDh1i6dCljxoxBSom9vT3FixdnxowZuLm50apVK0CxsVctYkvdunU5fvx4qnqXLVtGaGhouhJiq+Q+0r3zVAiRFyU1HkAhKeWJzOuWSk5Gm5jI+b1/cWLLeqSU1O/Zj2rtPsTYJGdqrxnNxjPeuOSxpLarY6a31aRJE0aNGsXUqVNxdnZGo9Gg1Wp5+vQpWq0WnU5H8eLFEUJgZqbEhGnQyJ2IOqMp6mSNhYXyk30+Pnx0dDQzZ85kzpw5SCmJjo5myJAhL0warpK7SO/i6VKgOOAARKNsVkozJrsQwg7YAGiAKGAsMBuwBU5LKb96+26rZBfe169waOkCgh4/okT1WjT+6DPs8mX+Lsqcwv2ASE49CGZMqzKZbr/28PDg0KFDzJs3D2tra1q2bElgYCBBQUEEBSnx3BctWgQoya2T+mNkosTaKeJgaTj3ovjwzycIUXk3SK9DcUmUJNZ3gUZA6gSVz+gDzJZStgCeAieAKVLKBkBhIYT7G/dWJduICg3h73m/sGnyOBLiYuk4+ls6jf42Vwv1+Ph4QwyXl5G8zKazj9EYCbpWLZyijKenZ0Z3j6ZNmxIfH8/q1asBJQnIuXPn8PLy4uDBgxQuXJj4+HjatWsHwO7du9m5cyexCVpCj67B0TRlXtbVq1dTv3596tevz++//87UqVMNxzt27Mjw/qtkH+n1Y48GmqJo4d0A+xcVlFL+kewwL2AJnNcf+wPvjjPze4BOp+XSgb/5b8NqEuLiqPVhD2p92A0Ts+yNwJgR9OnTh759+9KxY8cXlvnmm2+oUKEC/fr1I0GrY8u5xzQuk498tinHnxk2a2NjY+bMmWM4TiuBtlarJTY2FiklNWvWZPPmzcQkaDEtWIoD29amKBsQEMDAgQPp379/Co19zpw5hISEZFi/VbKf9Ar2rkBB4EvgE2DTqy4QQtRBMd38CHwvhDiJovWPe76sn59fml/azCY4ODjL28xsMnJMQQ8fcGbLWkIePyJ/qbJU79ob23wFCAjK2vuWUWOaMmUKBw8eNCTNBvjpp5/46aefAPDy8mL06NFMmTKFsmXLGsocOXKEefPmERabyJ1bt+i/egc///wzGzduxMJCcSmMiYnhxo0bzJgxAyklMTEx9OvXj549e77VeE6ePMmlS5fo2bMn9+7do0GDZ9tHzMzMCAsLo3Tp0ty7d49q1aopi6VX1+JUriaOdo+Ii4szJCqJiIhACIGvry9hYWFIKVO9f1PU31L24OzsnOb59C6eRqGYYQC+E0KcRhHYaSKEcATmAl2klA/1OVJHAyullJHPl8+KSHcv4kU3JjfztmOKiYzg2PqVXD7kgZW9A21HjKFMnQbZ6hOdEf8nW1tbfv75Z1q1amWIrZ6EsbExP/zwA7Vr16Zhw4Z88cUXPH36lIiICHx8fLh69SoRUWbks3WlY93yFOnenHHjnukor2uzTu94Fi1axLfffsutW7do3bo169evT1Wmbt26tGnThgYNGhDuUAa/2ctxShSsDS9LZPyztmxsbHBwcMDZ2Rk7Ozvs7e2xtrYmISGBvHnzvvU9Vn9LOYcMjxUjhDAFNgPjpJQP9acvAkWBXhndnkrGIXU6rv1ziH/XLic2KpKqrTtQt1sfzCzfjW3pU6ZMQaPR0KZNG+rVq4elflyJiYns3r2bY8eUKBkNGjSgSpUqLFy4EBsbG2xtbYkzsqDpb8cZ2dCFIoWVTUnJc5r6+vpibGzMkiVLAPj666/f2izz119/ERERQeXKlWnYsCGzZs1Ks9zt27dxdHRkz1V/xm69jE4fv8YnNIYA/0h2XPChU5VC2NraGmYryePDX7t2jS+++OKt+qqSs3jVztPeaZ0GXubn9QlQFZgghJgALADKoyyoRr9pR1Uyl4CHDzi4dAG+t67jXLocTT8ZQj4X1+zuVoZiaqpsrzcxMcHDw8OQm1Sn06VKTi2lNCTD0Ol0nDxzDp2jC7dC6kEbZRkps23Wbdu2pXLlyvj6+vLxJ59SonItznoFExARh39EHAH617opQ3BtN5hRmy6ik6CxVn6eUqdFGx/LTI9bdKpSiIEDBxrqTh4fftSoUW/dV5Wcxas09lIvOL/6RRdIKRegCHOVXEB8TDTHN6/l/N+7MLOypsXg4VRs1OydiMD4Mv766y+cnJwAJblG0sYerVaLEAJzc3MOHjwIQHR0DAUr1aHNN3+ydGBNtFotGo0Go5fco/SYrbQ6SXBUPP4RsQYhHRAZh3+48jcgmfCOjCvKLzM9U1xvJMDJ2owK/5tEwTx2PLwVAECe1sOVPhhpKPC/WfimEV44q+PDq2Qtr9p5OjmrOqKStUgpuX3yGJ4rFxMZGoJbk5bU79UPCxvb7O5altClS5cUGnsSS5YsYdeuXdjb2+Pu7k6k1pi7/pHExcWz95cR1Fxtw6d9uzFo0KAU1yURHh6O71N/pJkNZ7yCFSEdEZtCYPsGRxISe52gyDh0aXhbWpsZk8/GDCcbM8o725LPxoy8NmbktTYjn605ea2VY0crUzTJ8pnWm5Z2jHhnezV07/uGGo/9PSTY14fDy//k4eUL5HMpQYevJlCwVM6II55VbN26NU2NfdCgQXTq1Il+/fpRvkEbjuCGfYKWwD2/Is2sCG/wKUFFSrDprDfnfGPRBkVwZu15jv13nzgjC8au+5pwryvkaVme3x4+25ytMRI4WZuSz8YcJysTqhSzI59tcoFtRl5rc5xsTLE0fbOf5eiWZRi37QoxCc88zHJSjPj0kJCQwOPHj4mNzf44g1qtlrCwsOzuBgDm5uYULlzYoIy8CpGeDRpZQLZ0wtfXN9euer+Il40pIT6O09s3cWbnVjQmptTv+T8qt2iDkVHOjsCYUf+nTZs2sWDBAu7du0fp0qUNdnUpJVevXqVMmTIUK1aMBw8e8PPPP/P1PzEGDVhKSeiRZQgzS+zrPfMBsDE3Jq+NGUH/bcbR0YHGHXuT18bsmZatf+9gaYqRXrvOzO/djgs+zPS4hW9oDM5ZGCM+o8b04MEDbGxsyJMnT7ZHpoyPjzesy2QnUkqCgoKIiIigePHiz3+c5k1SBft7ItjvnTvNkRULCfP3o1yDxjTqOwAre4c0ash5ZNf/qfjYPam+mFLqEMKIo2Ma42RthoXp6z8U36fv3ety48YNypYtm+1CHXKOYAdFuN+8eZNy5VLlNkjzRqmmmHec8AB/Dq9YxL2zJ3EsVIRu306laEW37O5WrsDZ3iKVzVoIIwrZW1DE8d1wAc2J5AShntN43Xvybrs+vMdoExM4tWMzy0cN4eGVCzTo3Z9+M35XhfprMLplGSxMUmrkuc1mrfJ69O/fnypVqlCnTh169epFQkLCa13v6emJl5fXG7V948aNl4a3eB1Uwf4O8ujqJVaN/oJj61fiUrkqH89eQM2OXdEYvx9hdTOKTlUK8XPnShSyt0AAhewt+LlzpRyT11Qlc5g7dy4nTpzA2tra4PKaXt5UsN+7d4/Ro0dn2GKtaop5h4gMCeb46iU8PH8au3z5+fCb73GtWiO7u5Wr6VSlkCrI30OklERGRmJqakpwcDAfffQRoaGhVKtWjTlz5tC/f38mTZqEi4sLkyZNwt3dnZUrV3LkyBF27NhBhQoVWLt2LX5+fvTv35+wsDDat2+fIgxFcmxsbNi6dSstW7bMkP6rgv0dQKfVcnH/Hv7buIbE+Hhqd+lFzU5dMTE1y+6uqai8MZN3XeO6b3iG1lne2Zbv21d4aZkvvviC4OBg2rRpQ5MmTRg9ejQ9e/akT58+fPzxx+zbty/N65YvX24Q8klpB3/++Wd69OhB//79qVWrFp999hl58qROG5kvX763HltyVMGey/G9fZODS/8gwOs+xdyqUKldZ8pUrpLd3VJRybXMnTuXY8eOodFoEEJw/fp1Bg8eDECtWrW4ceNGivIxMak3hSVx69YtTpw4wYoVK4iKisLX1zdNwZ7RqII9lxITEc7RdSu4cng/1o55aP/lWErVqseTJ0+yu2sqKhnCqzTrzGTQoEHUr1+fUaNGUaFCBU6ePEnJkiU5efIkvXv35saNGwQEBFCkSBEOHDhA69atAbCwsCA6WgmJJaWkTJkydOzYkcaNG7NmzRocHTM/nSKogj3XIXU6rhw5wNH1K4mLiqRauw+p27UXphaq+52KSkbh4OCAu7s7W7duZdy4cfTr148///yT6tWr06JFC4yNjfnmm28oWbIkJUuWNFzXpUsXBgwYwA8//MCaNWsYO3Ysn3zyCRMnTqR48eJpxufPDNQNSrloo4i/130OLpnPkzu3KFS2PE0/GUreoi4pyuS2MaWHd21M79p4IGM3KKWxCSdbyEkblOCF90bdoJRbiYuO4r9Na7i4bw/mNja0Gvol5Rs2UTdyqKiopIkq2HMwUkpuHv+Xf1YtISoslMrNWlO/Zz/Mra2zu2sqKio5GFWw51CCHntzaNkCvK9dJr9rKTqN/pYCJUtnd7dUVFRyAapgz2EkxMZycvtGzu7ajom5GU0/GYpbs5Y5PgKjiopKzkEV7DkEKSX3zp7i8IqFRAQGUKFRUxr2+RhLO/vs7pqKikouQxXsOYAw/6ccXr6Q++fPkKdwUXp8P43C5Stmd7dUVN47+vfvz6VLlzA3N8fZ2ZkNGzakO7kFKLFiXFxccHFxea12Hz16RL9+/TAyMqJkyZIsXLjwrZwj1CBg2UhiQgInt21kxaiheF+7QsO+A/jf9N9Voa6iko1kRxCwhQsXsmDBAg4fPoy3tzdXrlx57TqSowr2bMLr8gVWjR7GfxtX41q1Bh//+ic12ndGY6xOolRUspvng4C1b9+eBg0aMHLkSEDR7JME+KRJk/D09OTjjz9mxYoVjBw5kj59+gDg5+dH69atqVu3Lj///PML2/vpp58MPupBQUGGtI1viipFspiI4ED+WbWUWyeOYl+gIF3GTcblg2rZ3S0VlZzH32Ph6dtprqkoUAlaT3tpkewIApbExo0bqVChwltv9lIF+3OEhYVhbGyMlZVVmp8n7dR9XfuXTqvlwr5d/LdpLTptInW79aFGhy4Y56CdbSoqKtkXBOz+/fvMmjXrtc0/afHeC/bntw1v3ryZhw8fMmXKlDTLz5s3D3Nzcz799NM0P58xYwZubm6GrPcAj65doWmLFgyuX43iH1SjyceDsS9QMGMHoqLyrvEKzTozyeogYCEhIfTq1Ytly5ZhZ2f31v1/r23st27dolOnTiQmJtK2bVtatGjBpk2bOHbsGK1ataJBgwbs2rUrxTUmJiYvXSUXQmBmpsRBb9SwAfsWzGHzD+PQCEGHr8bz4dhJqlBXUcnhPB8EbMOGDdSvXx97e3tatGhBz549+eabbxgyZEiqIGDTpk2jdu3a3Lt3j7FjxzJr1izq1avHvn37yJ8/f5rtTZs2jUePHvHFF1/g7u7OP//883YDkFJm6AuwA/4G9gPbgfzAXuAssPAF12ULPj4+cvLkyXLevHkvLTds2DDD+wULFsjly5cbjseNGye1Wq3heObMmfLwoUPy4v69skLhgnJ2rw7yn7XLZZPGjTO8/2nh4+OTJe1kJe/amN618UiZcWO6fv16htSTEcTFxWV3F1LwgnuTphzODI29DzBbStkCeAr0ANZKKasDNkKI6pnQ5hszYcIEBg0axJ07dyhUqBDNmjWjWbNm1KtXzxBi88iRIy+8fs+ePRgZKbexXbt2RAQFMmv8GH6b/B2mFpb45HOhSvsuCKP3enKkoqKShWS4jV1K+Ueyw7zAY6CgEMIeKAJ4Z3Sbb4NGo2Hv3r2ULVuW1q1bs2TJEgDu3r3L999/D4DxS1wQkxZRo8LD8L1/F/H4PgXz5MHf2Bzn0vlp2KQpixYtyvyBqKioqOjJNDVSCFEHcADWAMWA4cANIDiz2nwTTp48yaJFizAyMuLu3bvUqlWLggULMnDgQEqXTl/QretHj/DLZ/2wk4lY5C/EkJ9/offHnwDQtm1bChVSkyGrqKhkHZniFSOEcATmAl2A74HBUspwIcQo4GMghQrr5+eHVqvNjK68FH9/f7766it+/fVXQkNDad68Oe7u7syfP58mTZpQsWJFfH19iY+Px9fXl9MPglnpeZ1YnRGeUR60KWJMyBNf/p73C0WLujD3y7GMGD8Rp/z5KVi4MEuWLMHPz4+GDRsyf/58fH19M31MwcE56rmZIbxrY3rXxgMZNyatVkt8fHyG1PW25KS+gNKf52XIi/zdM1ywCyFMgc3AOCnlQyGEA1BJCHESqAWkctJ80UpxZrNp0ybatGlDjRo16NmzJ3379iV//vxYWlpSqVIlBg8ezP79+/H19aVFhy7cD4giISIIIQS+x7ZzNDEKv5Awmn86jEpNWnDn7l0KFixIsWLFADAzMzPc+OTvM5t3LTsPvHtjetfGAxkzprCwsByTtSirMyg9efKEa9euUatWLWxsbFJ9rtFo0n2PM0Nj/wSoCkwQQkxA8ZBZhGKOOQGsz4Q234ju3buTL18+Ll++TKlSpahUqZJhh1itWrWYPn068fHxhIaGUm/aYfKFxmAfH0Knp7ux0UZyzbosG3dvprx7M4SREV9++SWzZs0y1F+woOLWqNVqDb6tKioqOZfsCgJ2+/ZtBg4cSNOmTRkzZgwnT558q4dKZiyeLgAWPHd6eka3k1EYGxtTuXJlKleujJSSX375BTc3NwBatGhhKOcbGoOQOpoFHsFYJrClYCeemBck38eNDYurmzdvxtLyWVLppIVYjUbD8ePHs3BUKioqb8rcuXOpX78+H330EQcPHjRsPkoPnp6euLu7v7Zgv3z5MsuXL6dEiRJcuXKFBw8eUKZMmdfs+TNUH7xkCCGoVq1amk9oZ3sL3MKvUjDOj6N56vPEvKDhfBLJhbqKikruRWZxELCuXbtSrFgx9uzZQ0hISIpNT2/Cex9SIL2MrJWHexdP4WVRlFtWpQCwMNEwuuWbP1VVVFRezPTT07kZfDND6yzrWJZvan7z0jLZFQQsMjKSTZs2UaxYsbdOVK9q7OlASgn/bcbURMMN15YIIShkb8HPnSvRqYrqyqii8i4xd+5chgwZgqurqyEIWK1atYA3CwK2YMEC3N3dDUHAXoS9vT0rV64kISGBM2fOvNUYVI09HVz1PMCjKxdp+slQRrVok93dUVF5L3iVZp2ZZHUQsCFDhtCrVy8aNmxIaGgo9vb2b9V/VWN/BZHBQfyzaimFy1WkcrNWr75ARUUl15PVQcDGjBnD+PHjadCgATVr1nyrhVMAIfXxxbOZbOmEr6/vS/1CpZTs/OUnvC6ep9/MuTgUzPlml1eNKTfyro3pXRsPZNyYbty4YcgklN1ktR/7q3jBvUnTGK9q7C/h9sn/uHvmJHW798kVQl1FRUUFVMH+QmIiwjm8/E/yu5akWttO2d0dFRUVlXSjCvYX4LlyMbGREbQcPAIjjSa7u6OioqKSblTBngYPLpzl+tEj1OzUjbzFimd3d1RUVFReC1WwP0dcdDQHFs8nT+Gi1PqwR3Z3R0VFReW1UQX7cxxdv5KI4EBaDBqO8WsE/1FRUcn99O/fnypVqlCnTh169epFQkLCa13v6elpCDXwJly9epXmzZu/8fVJqII9GY+vX+XS/j1Ubd0B59Jls7s7Kioq2cDcuXM5ceIE1tbWHDyYKsr4S3kbwS6lZNSoUa/9MEkLVbDrSYiPY/+i37HLl5/6Pf6X3d1RUVHJRrI6CBgosWYaN26cIf1XQwroObFlPSFPfOk68UdMzM2zuzsqKu89T6dOJe5GxgYBMytXlgLjx7+0THYEAQsKCmLNmjV4eHjg4eHx1uNUBTvgd/8uZ3dto1KTFhSr9EF2d0dFRSUbmTt3LseOHUOj0RiCgA0ePBh4syBgJ06cYMWKFYYgYGkJ9rFjx/Lzzz+/VlKPl/HeC3ZtYiIeC+ZgaWdPw74Dsrs7Kioqel6lWWcmWR0E7J9//uHOnTsAXLx4kYkTJ/Ljjz++cf/fexv7mb+2EPDIi2afDMXcyjq7u6OiopIDyOogYLdv38bT0xNPT08++OCDtxLq8J4HAbtx/iwev/xIyRp1aDcy+0KEZiRqgKmcz7s2HlCDgGUFahCwdKDTaTm9cRUmFpY0+XhQdndHJR2EhISoScFVVNLBe2tjv7hvN4Fe92kz7Css7eyzuzvvLfny5aN8+fIpzj1+/Ji7d+/i5+fH/fv3CQwM5NGjR0yfPp3KlSvTqpUSF1+n01G2bFkcHR25e/cukydPZvXq1axYsYKZM2eSN29eQMlMs2PHDkP9H330Ed9++61hCu3n58f+/fsJDQ3liy++ACAhIcGwkPXbb7+RP39+evbsCUBiYqIhgfnbEBwczLlz56hSpQpOTk4pPvPz88PR0THDFtNU3i/eS8Ee5v+UoxtW4VyuImXru2d3d95rNGkEWEsSZkFBQZw/f56IiAjs7e1p2bIloCwuAWi1WgoWLIiPjw/79u3jwYMHHDp0CBMTE4YMGWJ4AHzzjWJmu3r1Kl988QV3797lzp071KlTh2PHjnHnzh1mzJiRIht93bp1sbCwwMjIiEePHlG0aFH+/PNPpJRER0fz77//YmFhQVp88sknXL9+nbZt2zJx4sQ0y4SEhNCuXTvatm3LqFGjOHz4MBs3bmTlypV4enri4eFBv3793uymqrz3vHeCXUrJ/kXzMDIyonq3vm+dNFbl7WjatCnNmjVLcc7T0xOA8uXLU758eSpUqGDQvkHRpl1dXVm9ejUA9+7dI2/evFhYWGBnZ0e+fPnYs2cPW7ZsAaB3794AuLq60rNnT9auXUvbtm3p0qULv/zyC+7u7rRt2xZvb29DG61ataJmzZoEBgZy7949XF1dKVKkCD4+Pty7d++FQn3btm1otVpOnDjBgAEDuHPnDqVKlUpV7vLly8yePZvatWsTEhLC+fPnuXjxIgMHDuTMmTNYWVm9+U1Vee957wR7Uv7SZgOHYuWQtuuRSuZz5MgRJk2ahBCCFStWpPq8QYMGrFy5EldXV9zc3KhcubLhs+e3XJcoUQKNRoOnpyfFixdnxIgRPH782PD5+vXradOmDcbGxpQuXRpbW1tcXFwwMzOjb9++3Lp1i7lz51KmTBlq1qwJwPjx4/Hy8mLKlClERUVRsmRJNm7cyN69e5k0aZKh7piYGAYOHMjatWsB5aHUvXt3AFq0aMGxY8fSFOyNGjUC4N9//+X06dN89913bNq0iYSEBPbv3/9CTV9FJT28V4I9ef5St6atePL0aXZ36b2lYcOGjBkzBg8PD1q0aMHSpUv5/PPPiY2NBaBKlSpYW1vj7u5OfHw8T548SVXHoUOH2LZtG/7+/ixevJgDBw6wZ88enj59iqenJ4sWLeLjjz+mffv2mJiY4OHhwcyZM7lw4QKhoaH4+PiwZs0a3N3dGTZsGHfv3sXLywsXFxdu3rzJxo0bmT59OkuXLmXQoEF8+umn2NvbExoayoAByp4HCwsLg1AHiIqKolAhJduWo6Mj58+ff+E9kFKyceNGHBwcMDExoUWLFixfvpwOHTrQoUMHJkyYkGFbzFXSR//+/bl06RLm5uY4OzuzYcOG11rn8PT0xMXFBRcXl9dq18fHh1q1ahnWfTZv3pxilvq6vDdeMVJKDi5dgDYhgRaDvkAYvTdDz5FoNJpU9vV9+/bh7e3N4sWL0el06HQ67O3t2bJlC1999RUjR45k5MiRfPnll3h6euLk5IQQAh8fH0qWLEnz5s3p168fSS688+bNM/wodTodbdu25ffffycyMpI2bdpQpEgRunfvzvXr1/nll184f/48CQkJhIWFsXDhQkaPHs3vv/+Or68vs2bNIiYmhq+//hp/f3/i4+PTHJe1tbVhJ2JkZCQ6ne6F90AIwfz583Fzc2Pnzp306NGDSZMmYW9vT9u2bdm6dWtG3GqV1yQ7goCdOnWKCRMmGHzZ30aoQyYIdiGEnRDibyHEfiHEdiHECCGEp/51UQixMKPbTA+3T/7HvbNq/tKchoeHB7NmzSIqKoqBAwcSHR2NnZ0dRYoUSbH+MX/+fOzt7bG3t2fatGmG80IImjZtmmLh84MPPuDhw4cULVqU+Ph4GjRogE6nIyIighEjRtCmTRvy5MlDZGQkmzZtonz58vzyyy+MHDmSUqVKsXXrVh48eMAnn3yClJKAgAB8fX1JTExkxIgRHD16lFWrVqU5nmrVqnHs2DEALl269ELNbfr06YY6QkNDsbe3B+DOnTuUKFECMzOzlz4UVDKXrA4CdvLkSZYsWULVqlUZnwE7bjPDFNMHmC2lPCCEWAA8kFK6Awgh5gIrM6HNl/Isf2kpNX9pDiE8PJyjR49SsmRJ3Nzc2LFjB3FxcRw6dIjixYuj0+lIvnkuLi7OYNtO0vSTPk8S2kb6Wdjo0aPp168fX3/9NR06dMDd3R2NRsOOHTv46quv2LFjBy1btjQIXSEE0dHR/PLLL1SsWJEBAwYYTC0Ac+bMoUCBAgZ3x+Q8b2Pv1KkTDRo0wNfXl7///puTJ09y/fp11q1bl2I34WeffUb37t1ZsmQJFStWpEWLFoSHh1OgQAHKly/PoEGD+O677zLuhudCjm66TaB3ZIbW6VTEmgbdS7+0THYEAWvdujXffvstlpaWNGvWjMuXL+Pm5vbG48xwwS6l/CPZYV7AH0AIUQjIL6U8m9Ftvoqk/KVdJ0xR85fmEMzMzKhevTrDhg2jYMGCXLp0iX379tGvXz8sLS356KOPmDVrlqH8kSNHUly/du1aHj58iI2NDQEBAQwfPpyxY8eyYsUKVqxYwZQpU2jQoAHNmzdn3rx5rFy5koEDBwKwcePGFKaU/v3707FjR8zNzfnss89S9TUuLo7ExMQ0x/G8jd3W1hZPT08OHDjAmDFjsLOzw87OLtUWcQcHBw4cOJDinK2trSHJQpJLp0rWkx1BwOrWrYuZmRmgrC/duXPnrQR7poUUEELUAX6UUjbVH08FDkgpjzxf1s/PT2q12kzph+/1K/yzeC4VWrTFrXXHFJ8FBwe/MChPbuV9GZNWq03TB15KmeNdWN+X/9Gb1lO69Ms16sxk4MCBfPzxx5QvX54mTZpw9uxZJkyYgJubG71792bgwIH06NGDbdu28cknn1ClShXq1q3LjBkzaNSoEbNmzaJChQq0bt0aKSVff/017du3x93dnXXr1tGoUSPD4npymjdvzqpVq7Czs6NevXps2LCBMmXKpChz+/btVPfY2dk5zS97pnjFCCEcgblAF/2xEdAYmJBW+RcFxnlb4qKj2b1tA3kKF6VZv4Fpprp712J2gDqm3MC7Nh7ImDGFhYVla3wWIyMjTExMyJ8/P+7u7uzatYuJEyfSr18/lixZQvXq1Wnbti0WFhZMnDiRkiVLUqpUKUxMTDA1NaV79+4MGDCAn3/+mTVr1jBhwgQ++eQTJk+eTPHixenbt2+au5YnTZpEy5YtMTU1ZciQIVSqVClVGY1Gk+57nOEauxDCFPgbmCalPKA/1wj4UEo58gWXZcq04eCSP7h08G96/TAzzVR3ajCm3MG7NqZ3bTygBgHLCrI7CNgnQFVggt4TpgfQEvg3E9p6IY+vX+XSgb1Ua6PmL1VRUXm/yIzF0wXAgudOb8zodl5G8vyl9bqr+UtVVFTeL3L0Lp2XrTa/CK1Wy6HVywh54kvzz75IM39pUiwSFRUVlXeRLBfsQkEjhFgvhHAQQvw+fPhwEhIS6N69OwkJCQb/5LZt26a4tn79+i90O0sK/Xpk726+/+nnl+YvXbZsWYowrioqKirvEtkRK6YgsA0oC3wO5A0PD2f48OHs3LmTNm3asG7dOvLmzYulpSUAI0aM4Nq1a1y/fp1WrVqh0+mYNGkSUVFR/Prrr5iamuLr60vbtm25e/kCgaHhzNmxl1+27WHkyJF4eXmxbNkyLC0tDZtRZs6ciZQSExMToqOjGTJkSIpNKSoqKiq5lewQ7H7ALUAHWAMPhRCYmJjg4uJCqVKluHnzJpMnT+b69evMmzeP3377DYBmzZqlit2QtJW8f//+DG7fig1/hmFTuSZTZs1OUW7IkCGG93PmzDHkLnzXvBNUVFTenOwKApZE+/btmTJlCh988MEbXZ9EdtjYKwObAW8UT5lyZmZmDBo0iLp16zJs2DDq1KlDjRo1cHJyok6dOowZM4aWLVty69Yt2rZta8hyk8Tq1avx8/Xl+Jb1XA6Npt+gIdy8eZOVK1emKFO/fn3q16/P77//ztSpU+nUqRP169dXzTIqKioGsiMIGCi7qUuUKPHWQh2yR7BXBL4A7IBVQIHHjx/Tpk0bHj58yMiRIzlw4IAhQFK/fv0YMGAA+fPnx9vbm0GDBqWIfLZw4UI+++wzWpYuipmVFUXLVeTGjRt88sknVKxY0VAuICCAgQMHcuzYMYYPH8748ePZsWMHXbt2JSQkJEtvgIqKSs4mq4OABQcH89VXX+Hg4JAqfMabkB2mmNNAIaACMAdwMjU1rfnTTz+xZcsWmjdvjre3N9WrV+fatWt89dVXuLq6EhQUxIMHD5g3bx7Lly8H4O+//+bOnTs0r1+XAK/7dBkxmh0zZrN06VJ27NiR4gFg9JIwvTl9C7qKyvvIkRWL8H94P0PrzFfMlcb9U8cDSk52BAH79ddf6datG4MGDWLcuHFERETQoUOHNx5ndmjs0cBuYANgATiEhoZy48YN+vbtS4UKFYiJiWHcuHEANG7cGFNTU6ZPn07Dhg2pXbs2hQoVYscFH368ZMYBWY0n9+/y1NiaYd9PISgoiN9++428efOmiA6YVgjUiIgIAgMDMyQxsYqKyrvB3LlzGTJkCK6uroYgYLVq1QLeLAjYggULcHd3NwQBS4sLFy7w+eefU6BAAbp37/7WLtlZLtGklI+EEL8BJVFCCTg8efKES5cucenSJaytrdmwYQOg+KQDxMbGsmbNGqpXr87+/fsJN8nDnpD8JJhY0ynQk/+k4HSBFnw/vh37Fv1IeHg4AN999x3Vq1enY8eO2Nra4uDgkNQHANatW8e1a9dS2exVVFSyn1dp1pnJoEGDqF+/PqNGjaJChQqcPHmSkiVLcvLkSXr37s2NGzcICAigSJEiHDhwwODEYWFhQXR0NKDImTJlytCxY0caN27MmjVrXhgorWTJkty/f5+yZcty9uxZihUr9lb9zxZVVUo5AkAIYQJs+eGHH+jWrVuqclFRUXh7e9OtWzeGDBnCtGnTCAwMpEqPUcRaO1OjsBNFYn3wNXYErQm/Hr7PmPbtGT169P/bu/8YKe4yjuPvD9zVg1bkh/Vaev8coUGttlclpCQFr7+g9SctJtVoiQItGmJiJMBhz6TBUIk2pqYJYLGmVmy1Cj2rxrQ1ekJMqWKqtJo0atRKtZGcUrQhoYHHP+Z7HN7tcrN3sLM793klm5uZ3Z19HuZ4bvY7M89w4sQJ2tvbWbduHcCplq2Q3TPz+PHjrFmzxmfFmNkIM2bMoLu7m927d7Np0yZWrFjBjh07mD9/PkuWLKGlpYWNGzcyd+7cU7ezA1i+fDkrV65k8+bN7Nq1i56eHlatWkVvby+dnZ0Ve/oDbNiwgdWrV7NlyxamTp3Knj17xhX/OWvbW6MzBnHy5Mn/GyPv7PkRihPcdugRjra8nscuej9ICPjz1vdUX9EwbsbUHMqWU9nyATcBq4damoA1xeDy8AOfs6dP4aUjx/jexcuYFCchHfycPX1KEeGZmTWUhu4VU836pfOY0jqZV1su4D+t0wCY0jqZ9UvnjfJOM7Pya4o99uGWXZndgeRLT7zA348cY/b0KaxfOu/UcjNrXs1wF6x6q3XIvCkLO2TF3YXcrFza2toYGBhg1qxZLu5JRDAwMEBbhU611TRtYTez8uno6ODQoUMcPny46FCq3le3CG1tbXR0dOR+vQu7mTWM1tZWOjs7iw4DaO6zl5ry4KmZmVXnwm5mVjIu7GZmJdMoV56amdlZ4j12M7OScWE3MysZF/YSkzRT0g2S3lh0LGZWPxOisEtql7TvtPkHJD0tqTfNv0HSjyU9KekxSY3T0q2KHDnNILuhyQLgZ5IurLKqhjFaTsNe92z9I6xdju3UIulFSf3p8fbios2nhu20TdL76h9hbXJso0+etn1+I+mrxUWbT+kLeypw3wDOT/O3AJMjYiEwR9KlwEeAL0fEEuBl4Mai4s0jZ06XA5+JiC3AE8A7ioo3j5w5DbqH7O5bDa2G7fRIRHSnx3PFRTy6vNtJ0iLgooj4QWHB5pAnn4jYPrh9gH3AzsICzqn0hR04AdwKHE3z3cCjafpJ4OqI2BYRT6VlFwL/rGuEtcuT088jYr+kxWR77U/XPcrajJoTgKRrgVfJ/gA3ujw5XQW8V9Iv055io18NPmpO6QY6O4G/SPpA3SOsTa7fOwBJlwDtEXGgngGORekLe0QcjYhXTlt0PvBSmv4X0D74hKSFwIyI2F/HEGuWNydlXZRuBf4NvFbXIGuUJ6c0RPY5oKfe8Y1Fzu30K+D6iFgAtALvrm+UtcmZ0wrg98AXgQWSGvbek7XUB2AtsL1esY1H6Qt7Bf9l6Gv8BaR/A0kzgfuAlQXFNR4Vc4rMWuAgMPZbnhejUk49wLaIOFJUUONUKaeDEfGPtOwAcGmlNzawSjldCdwfES8Du4BrCoptLKrVh0lkefQXE1ZtJmJh/zVDX6+uIPu6eB7wXWBTRPy1sMjGrlJOGyWtSMumA0cKiGs8RuQEXA+sldQPdEn6WjGhjVmlnL4p6QpJk4FlwG+LCW3MKuX0R2BOWjYfaKb/U5XyAVgEPBNNckVno4/nnQt9wD5Js4GbyMY4V5EdXLxT0p3A9oj4TnEh1qyPkTlNAh6VtBp4nmy8sJn0MSyniHh48ElJ/RGxutqbG1QfI7fTQeBhsntXPh4RPykuvDHpY2ROJ4GvS/oQ2fDSB4sLr2Z9jMwHYCmwt6igajUhWwqkI+E3AHvT18Wm55yag3NqfGXIZ0IWdjOzMpuIY+xmZqXmwm5mVjIu7GZmJePCbqUg6S5JHz3L67x32HyXpK4aY+o+mzGZ5eHCblZFRHx62KKu9DBraBPxPHabACS9DngQmA0cAj4OfJbsvOpFwDSyZm+vAHuAmcCfgOcj4u60jv7U+AlJXwBuTtO3RcR1ku4C+iOiX9LH0kd/n+xit8lk56b3S5oKPAS8CXguXQ1sds54j93K6nayIv0u4A8MtYqYGxGLyYr5tcCbyQr/1em5uyutLCI2AVuBrRFx3Rk+9w7ghxFxDUP9ee5IsSwGLpZ0+fhSMzszF3Yrq7cCz6Tp/cBb0vRD6eeLwHlkDZ/eSXZV4VfG8XmD/UU6GWoLMNgFcB5wc2qFMAe4ZByfYzYqF3Yrq98xdDn4VWkespa/p7sR+HxELIyIb42yzmPAVDjVOfM4WZvnwfVA9gfjsjTdlX6+ANybhnV602vMzhkXdiuTzZIOSDpAdvzoMkl7yTomPljlPc8C90n6qaRvS3rbGdb/FHCLpF+QjdM/DnxK0g5gIL3mfmB52juflpbtBG5KsXwC+NuYMzTLwS0FbEKTdDvwYbLx8NeAeyKiv9CgzMbJhd3MrGQ8FGNmVjIu7GZmJePCbmZWMi7sZmYl48JuZlYyLuxmZiXzPxVCRm6P3l9ZAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "ax = plt.subplot()\n",
    "ax.scatter(locations.经度, locations.纬度) # 绘制城市\n",
    "\n",
    "# 美化表格\n",
    "ax.spines['right'].set_color('none') \n",
    "ax.spines['top'].set_color('none')\n",
    "ax.spines['left'].set_color('none') \n",
    "ax.spines['bottom'].set_color('none')\n",
    "ax.yaxis.set_tick_params(which='both', length=0)\n",
    "ax.xaxis.set_tick_params(which='both', length=0)\n",
    "ax.grid(axis='y', alpha=0.4) \n",
    "ax.grid(axis='x', alpha=0.4) \n",
    "ax.set_title('综合考虑损耗率和距离的路线方案')\n",
    "ax.set_ylabel(\"Latitude\")\n",
    "ax.set_xlabel(\"Longitude\")\n",
    "\n",
    "# 添加城市名称\n",
    "for city in range(locations.shape[0]-1):\n",
    "    loc_city = locations.loc[city].values.tolist()\n",
    "    ax.text(loc_city[1], loc_city[2], loc_city[0], ha='center', va='bottom')\n",
    "\n",
    "ax.text(104.5, 27, '最高损耗率:'+str(low_loss_rate)+'%', ha='center', va='bottom')\n",
    "\n",
    "# 运输机飞行路线图\n",
    "cnt = 0\n",
    "for route in routes:\n",
    "    cnt += 1\n",
    "    draw_lng, draw_lat = [], []\n",
    "    for r in route:\n",
    "        draw_lat.append(locations[locations['城市名称'] == r].经度.values[0])\n",
    "        draw_lng.append(locations[locations['城市名称'] == r].纬度.values[0])\n",
    "    ax.plot(draw_lat, draw_lng, label='Route '+str(cnt))\n",
    "\n",
    "ax.scatter(best_location.lng, best_location.lat, c='r', marker='*', s=100) # 绘制医疗药品仓库选址\n",
    "\n",
    "ax.legend()\n",
    "plt.savefig('Distance and loss rate.jpg', dpi=200, bbox_inches='tight', pad_inches=0.1)\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "base",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.7"
  },
  "orig_nbformat": 4
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
